iy 5 % is ;
COLT
UPDATE! Magazine P.O. Box 1095 Peru iN 46970
S4.50/Issue S1S/VYear October 1994
* UPBATE COMPUTER SYSTEMS MAGAZTHE *
UPDATE. COMPUTER SYSTEMS is Edited and Published by Frank and
Carol is of P.O. Box 1095, Peru, IN 46970 USA. The phone
nuaber 317-473-8031 for both voice and fax, with normal phone
hours being between 5 P.M. and 9:30 P.M. Eastern Time during the
| noon to 6 P.M. on weekends, Please use the answering
f ve are not home, Most answers to questions left on
iine will be by mail, long distance charges are too
for a small magazine.
ate of the magazine: all issues will be mailed out near
of the months of October, January, April and July. All
within the USA are by bulk mail and may take a few
weeks to reach you at the most. Those wishing to have faster
service may pay $4 extra for First Class Hail. The present rate
for North America is $18 in USS, and $22 for the rest of the
world, Back issues of the magazine are available for $16 per
year in North America and $18 elsewhere (it is cheaper to mail a
bunch as opposed to one issue at a time). There are four issues
to a year, with each year of a subscription starting in October
and ending with the July issue, at which time your subscription
renewal is due. Timely renewals are what Keep us in business?
Assistance in publishing this magazine is provided by you the
readers, many of whom have contributed often in the way of
reviews and articles. He offer you our heartfelt thanks. Our
main assistant locally is longtime friend and colleague, Eliad
P, Kannun, Poet and Psychologist, as well as Sinclair computer
user. Kany thanks to our regulars such as Hike Felerski, Bill
Cable, Peter Hale, Paul Holmgren, Al Feng, Don Lambert, Bob
Hartung and many others. You are all welcome to submit material
for inclusien in the magazine. Please make all hard copy
submissions letter or NLQ; no draft print copies, as we do not
have much time for re-typing. Send at least two copies hard copy
and the article or artwork on disk where possible. No audio tape
submissions, as we do not use tape as a media, please. Try to
avoid flowery or hard to read fonts...unless you are showing us
a sample of the output of a progran. If artwork is to be
included in the article, please let us know in what order you
think it should be displayed.
Those wishing to place ads in UPDATE HAGAZINE: We have two ways
of handling ads. ONE, we will do reciprocal ads for other
publications (generally on a year for year basis, with you
sending us a copy of the issues the ad is placed in}. The other
way is to purchase ad space from us, with the following rates in
effect for now: $15 per quarter page; $25 per half page; and $40
per full page ad. This is per issue. For inclusion in all four
issues, you pay for three issues, in advance, and get the fourth
ad free, Should you have questions on this please contact Frank
Davis, by mail or phone as listed above.
Ke hope ta be of service to you. Thank yout
UPDATE DIRECTORY FOR OCTOBER 1994
The computer that an article concerns is marked by using the following
mark in the first column of the directory: TS= article for the TS2068 or
Spectrum; QL= article for the QL or QXL; ZX = article for the TS1000,
ZX81, TS1500; 88= article for the Z88. GI means article of general
interest.
Front cover art by Abed Kahale of CATUG, the Chicago Area Timex
User Group
Front Covers --Design and Basic Magazine Information
Page 1--GI--Directory of Issue Contents
Page 2--GI-Editorial by Frank W. Davis
Page 3 --TS--LogiCall Review by Abed Kabale
Page 4--ZX-World Map -Part 2 by Paul Holmgren
Page 12 --Gl-Mechanical Affinity & Update! Ads
Page 13 --GI-Modems or Magic by Abed Kahale
Page 16 --GI- RMG Ad for Rod Gowen
Page 16 --TS--The Best of the Plotter Ad
Page 17 -ZX-Serial Printer Output for ZX81/TS 1000 by Bob Berch
Page 19--TS-How To Build A Larken Dock Board by Les Cottrell
Page 23 --GI--Wanted/For Sale/or Help Needed Ads
Page 24-QL-Review of Chris Boutal’s Genealogist 3 by Hugh Howie
Page 27 --QL-~QLAMBer Update by Al Feng
Page 28 -QL-T/SNUG QL Public Domain Library
Page 29 --GI--QBOX USA Ad
Page 29 -GI-Computer Classics Ad
Page 30 --QL-~-Cable Column by Bill Cable --Archive Series Part 18: Form
Ed -- A Form Editor & Printer for Archive Databases (2nd
and final part)
Page 36 -QL--Pertinent Points on QL Disk Drives by Frank Davis
Page 38 --QL--XTricator, Version 1.75 by Gary Norton, a Review
Page 41 --QL-A Review of je by Eliad P. Wannum (A Financial
Program for the QL)
Page 42 --GI--Report on the Dayton Computerfest in August by F. Davis
Page 43 -QL-QLerk Ad by Wood & Wind Computing
Page 44 --88--Z88 Flo-Chart by Mike Fink of Domino Cubes
Page 45 -88-Domino Cubes 288 Ad
Page 46 --88--Z88 ROM & Internal RAM Upgrade by Dave Bennett
Page 47 --GI--Timex Publication Index, part 1 by Paul Holmgren
Back Covers --TS2068 & QL Update Magazine Issue Disks
THE OCTOBER EDITORIAL
by Frank W. Davis
Once again I set fingers to the keyboard. I often realize just how
much I have come to rely on word processors to do my letters and for
other text items. It is so much better to see the whole concept and be
able to change it in a matter of seconds...and to make as many copies of
it as I wish. For someone who likes to write, this is indeed a minor
miracle! I do, however, find I do at times go ahead and write letters
out by long hand, just to keep my handwriting skills from waning. It can
indeed happen, just as any skill left unpracticed can atrophy with
little or no use. We have all heard the old saying that "it is just like
riding a bicycle, you never forget how". Well, how many of you have
tried to ride a bike lately? I fear that the adequate tennis player that
I was in my youth is but a memory now. I was today listening to a public
radio program from Purdue University that was discussing this subject,
as well as memory and motor skills. It appears that we need to exercise
as many different skills as we can in order to stay sharp as we age.
Doing so can indeed make us better at some things than we were in our
youth, provided we never gave it too much effort in our youth. They
seemed to feel that the use of things such as bingo and learning
computers were both excellent for the aging mind. Perhaps all of us are
getting more out of computers than some realize.
I have to still admit a special fondness for my Sinclair computers.
I have had them long enough to feel comfortable and skillful with them.
It is not that the mere thought of an IBM compatible, or a MacIntosh has
never crossed my thoughts. The MAC is beyond what I wish to pay for a
basic skills computer, whereas I find Windows to be a clumsy environment
to work with and the IBM cannot multi-task in the same manner as a QL. I
have also been a user of AMIGA computers for years. I find them to be
excellent, but not as quick as the QL at multi-tasking. They are great
for graphics and stereo sound (two big weak points on the Sinclairs),
but they are not easy to program. The TS2068, 288 and the QL are easy to
program on and almost a breeze to modify programs on. The QL is now
coming more and more into its own. Those who think no new programs are
available for the TS2068 are probably not active members of a user
group, or do not pay close attention to what is written in UPDATE or the
quarterly put out by TSNUG. To find out about new programs and uses for
the Z88 you would all do wisely to contact Domino Cubes. Mike has a lot
of enthusiasm for this machine and can get you pointed towards some
power processing with this little two pound wonder.
If you have a TS1000 and are looking for a new peripheral for it
contact RMG, Mechanical Affinity, or place a WANTED AD here free (for
subscribers} in UPDATE. If you need to expand your TS2068, do the same,
or get a disk drive system from John Oliger Company. You can, if skilled
enough or know someone who is, follow the instructions in this issue and
build a Larken board for that disk drive setup. For the QL there is so
much happening that you should call Mechanical Affinity or IQLR (those
who subscribe or want to only) and find out just what all is new. There
is the Gold Card, Super Gold Card, two types of hard drive interfaces,
and a new improved graphics card coming out in about another month. This
does not even mention all the new software. We are closer to state of
the art.
LogiCall Review
Auxiliary Operating System AOS-LKDOS
Developer: Bob Swoger
LogiCall contains all the commands required
to run LK-DOS (TS-2068 & Spectrum). It
prompts for a command and executes these
commands with a minimum of typing.
Moves from drive to drive with 2
keystrokes; moves into and out of a word
processor, database, spreadsheet, terminal
program and other programs using a few key-
strokes. Displays word processor files and pic-
tures on the screen without running any program.
FORMAT, MOVE, ERASE, CAT, POINT, and
VERIFY keys all work without the use of the
“RAND USR 100: or PRINT#4: ” that have to
be typed using LKDOS alone. It really proves
itself with multi-drive system and will be of great
benefit even with a single drive. And, it is not
memory hungry, it only occupies one disk track.
It does complete the LarKen Disk Operating
System.
LogiCall comes in two versions, 5.0 for all
including ROMSWITCH and 5.2 for Spectrum
ROM in the doc port. OUT 244, 3 is not required.
A complete file management system, more
accurately a HUMAN INTERFACE (you and
the machine) shows the years of refinements.
Holding down the ENTER key (or the ENTER
and the ‘J’ keys for the RAMDISK) at power up,
displays the CATalog and the Drive? prompt.
ENTER the disk drive number or ‘T’ for tape or
just ENTER to display the Program? prompt.
ENTERing ‘H’ or ‘?’ at either prompt,
displays two screens HELP menu.
ENTERing one of the following at “Program?”
‘9° displays CATalog.
‘V’erbose displays the complete CATalog.
‘Brief displays a CATalog that only shows
programs that can be LOADed and RUN.
‘N? at the scroll? displays the Program?
on CATalogs that scroll off the screen.
“W’ LOADs word processor (TASWORD 11)
OSLKDOS ___&y bee Kahne
*T’erminal LOADs terminal (Mterm 1) program.
‘5° or ‘8° RENAME “old”, “new”. ENTER the
old name “NMI-S2.CM” to be renamed, then
the new “name.B1”.
‘T’ or ‘E°RASE ~ ERASE “.....”. ENTER the
filename and extension.
‘A’dds AUTOSTART to a disk.
‘Stave SAVEs “L.B1”.
‘Z’? COPYs to the TS-2040 printer.
‘C’OPYs to a large printer.
‘N'EW activates AUTOSTART again.
‘0’ or ‘F’ormat LOADs FORMAT.B_
‘6’ or ‘M’ove LOADs MOVE.BL
‘R’ VERIFYs for Cyctic Redundancy Check €frors.
‘K’ SAVEs SCREENS to disk.
‘Qvuits or ‘E’xists to BASIC where the program
can be customized.
‘0, 1, 2, 3 or 4’ moves between drives,
At the Program? prompt, hitting ENTER
without typing a filename activates the SCAN
LOAD mode. The space bar or any key in the
lower key rows advances a BRIGHT BAR down
the screen, the top row of keys will send the
BRIGHT BAR back toward the top. ENTER
keys do work as normal or without shift.
ENTERing a name with an extension of
“C$? at the Program?, LogiCall displays it as a
SCREENS. While ENTERing a name with an
extension of ‘Cm’ or ‘CT’, it displays
MSCRIPT, TASWORD II or SPECTRATERM
word processor files directly from disk.
LogiCall disk ensemble includes VUFILE,
VUCALC, TASWORD I, disk/tape Records
Base and MTERM II among others.
It is like an upgrade from a gear-shift to an
automatic transmission with overdrive.
LogiCall is available from RMG
Enterprises and from Mechanical Affinity.
WORLD MAP
Part 2
} routine to scroll screen up,
to DIRN
;
3E67
327241
409C
409E
and
40A1
half
40A4
40A6
and
40A9
half
32BE41
of map
3E6F
327F41
top
32CB41
top of map
EDSBOC40
40BO 3A8A40
40B3 CB4F
right/left?
40B5 282C
right/left
40B7 CB47
40B9 3A8940
map
40BC 200F
scroll down
40BE FE1A
40CO C8
40C1 3C
40C2 212100
screen line
40C5 19
on screen
40C6
40C9
40CB
40AC
O1F702
40CD
map
40CF
40D0
40D1
40D4
on screen
40D5 54
40D6 5D
40D7 012100
screen line
40DA ED42
last line
40DC
40DF
40E1
O1F702
EDB8
1845
40E3
40E5
right or
40E7
map
40EA 201C
scroll right
0600
CB47
left
3A8840
MSCR LD A,67
LD (4172),A
LD (41BE),A
LD A,6F
LD (417F),A
LD (41CB),A
LD DE, (DFIL)
LD A, (DIRN)
BIT 1,A
JR Z LIRT
BIT 0,A
LD A,(YPOS)
JR NZ SCRD
cP 1A
RET Z
INC A
LD HL,0021
ADD HL,DE
LD BC,02F7
LDIR
oR NEWY
SCRD CP 00
RET Z
DEC A
LD HL,0317
ADD HL,DE
LD D,H
LD E,L
LD BC, 0021
SBC HL,BC
LD BC,02F7
LDDR
oR NEWY
LTRT LD B,00
BIT 0,A
LD A,( XPOS)
JR NZ SCRR
4.
down,
right, or left according
; and fill in the area vacated by scrolling with the map data
;make instructions at 4171
7; at 41BD be RRD to access
smake instructions at 417E
? at 41CA be RLD to access
E = address of display file
D
A = direction to scroll
scroll up/down or
;if bit(1)=0, go scroll
7scroll up or down?
7A = y position of window on
;if bit(1) of DIRN =1, go
zis window at bottom of map? *
7if so, return to BASIC
ryeyed
;HL = 33d = no. chars in
7make HL address of 2nd line
7BC = 759d = 33d * 23d
scroll screen up 1 line
7go update YPOS
7
icheck if window is at top of
f so, return to BASIC
=y-l
IL = 791d = 24d * 33d - 1
tmake HL address of last char
vi
ry
7H.
BC = 33d = no. of chars in
7HL -> last char on next to
7BC = 759d = 33d * 23d
scroll screen down 1 line
+go update YPOS
;check whether to scroll
iget x position of window on
7if bit(0) of DIRN =
1, go
40EC 3C
40ED FES55
edge of map)
40EF 2001
instruction
40F1 AF
edge)
40F2 328840
40F5 13
char on screen
40F6 62
40F7 6B
40F8 23
40F9 3518
40FB
line - 1
40FD EDBO
the left
40FF 23
4106 1823
area to fill
4108 3D
4109 FEFF
edge of map
410B 2002
instruction
410D 3E54
410F 328840
4112 211703
4115 19
right char
4116 54
4117 5D
4118 2B
char
4119
411B OEF1F
line - 1
411D EDB8
right
411F 2B
4120 2B
4121 1B
4122 1B
4123 3D
4124
4126 1803
4128 328940
412B ED4B8840 FFIL
412F 04
414C works
4130 3A8A40
INC A
CP 55
JR NZ
XOR A
NWXL LD (XPOS),A
INC DE
LD H,D
LD L,E
INC HL
LD A,18
NXLL LD C,1F
LDIR
INC HL
INC HL
INC DE
INC DE
DEC A
JR NZ NXLL
JR FFIL
SCRR DEC A
CP FF
JR NZ
LD A,54
NWXR LD (XPOS) ,A
LD HL,0317
ADD HL, DE
LD D,H
LD E,L
DEC HL
LD A,18
NXLR LD C,1F
LDDR
DEC HL
DEC HL
DEC DE
DEC DE
DEC A
JR NZ NXLR
JR FFIL
NEWY LD (YPOS),A
INC B
LD A,(DIRN)
a
LD BC, (XPOS)
px =xtl
;check if x>85d (past right
NWXL vif
not, skip next
;zero x (make it the left
7store new x
ymake DE address of top left
7HL = DE
;make HL address of next char
7make A count 24d times
7BC = 31d = no. of chars in
scroll this line 1 char to
ymove HL past end of line
;past 1st char in next line
ymove DE past last char in
;past end of line char
;countdown A
;go do next line if A <> 0
igo find address of screen
m=x-1
;check if x went past left
NWXR rif not, skip next
;make x the right edge
istore new x
jHL = 791d = 24d * 33d - 1
;make HL address of bottom
iDE = HL
7HL = address of previous
count for 24d lines
7BC = 31d = no. of chars in
scroll this line 1 char to
;countdown A
;if A<>0, go do another line
skip next instruction
store new y
B=y; C=x
7B must be > 0 so DJNZ at
#get direction
4133 FE22
4135 2004
data
4137 3E17
4139 80
to fill
413A 47
413B 21DB42
= 17200d ~- 85d
413E 115500
line
4141 78
4142 D61A
of map
4144 3805
instructions
4146 3C
4147 47
4148 CD8B40
of screen
414B 19
414C 10FD
line y on map
414E E5
414F 09
4150 3A8A40
4153 CB4F
vertical or horiz
4155 282F
4157 ES
on map
4158 2A0C40
415B 23
415C CB47
er down
415E 2004
instructions
4160 11F702
4163 19
4164 EB
DE
4165 El
map
4166 0620
4168 3E56
416A OC
416B B9
416C
instructions
416E El
line
416F E5
4170 AF
4171 ED67
half of map
data into A
4173 EB
4174 77
4175 CBSF
CP 22
dR NZ MPST
LD A,17
ADD A,B
LD B,A
MPST LD HL, 42DB
LD DE,0055
#check if down
;if not, go get start of map
7A = 17h = 23d
yadd 23d to y since we need
; the last screen line
;HL = start of map data - 55h
7;DE = 85d = no. chars in map
LD A,B
SUB 1A ;check if y is in upper half
JR C NXLM ;if so, skip next 3
INC A yadjust y
LD B,A
CALL ACCB gain access to bottom half
NXLM ADD HL,DE sadd 85d
DINZ NXLM ;loop until HL is address of
PUSH HL store it
ADD HL,BC yaad C (get to xth char)
LD A, (DIRN) iget direction
BIT 1,A ;check whether scroll is
JR Z VFIL
HFIL PUSH HL
LD HL, (DFIL)
7go fill a column if vertical
;store address of start char
get start of display file
INC HL ymove past first 118d char
BIT 0,A ;check whether scroll was up
JR NZ stTsc 7if down, skip next 2
LD DE,O2F7 7DE = 23d * 33d
ADD HL,DE 7get to last line on screen
STSC EX DE,HL store screen fill address in
POP HL 7get address of start char on
LD B,20 7loop counter for 32d chars
NXTX LD A,56 the right edge
INC C 7C keeps track of x position
cP c ;check if x went off the edge
JR NZ CLAX 7if not, skip next 2
POP HL iget address of start of map
PUSH HL rrestore stack size
CLAX XOR A 7A = 0
RRD yor RLD if accessing bottom
; this moves 4 bits from map
EX DE,HL 7get screen address into HL
LD (HL),A ;copy map char to screen
BIT 3,A
7should it be inverse?
4177 2804
instructions
4179 CBFE
417B CB9E
417D EB
417E ED6F
half of map
4180
4181
4182
4184
4185
4186 Cl
4187
418B
right or left
418D 200D
fill address
418F 3E1F
4191 5F
4192 19
destination
CB47
4193 81
4194 1E55
4196 BB
right edge?
4197 3803
instructions
4199 EDS52
419B
scroll
419C
419D
41A0
41A1 3003
instructions
41A3 1E1F
41A5 19
line on screen
41A6 EB
41A7 El
41A8 48
41A9 0618
down screen
41AB 180F
41AD 3E19
41AF B9
ED4B8840
RSMX
VFIL
SVMY
SVSY
NXxTY
bottom half of map
41BO0 200A
instructions
41B2 CD8B40
of map
41B5 D5
41B6 114D08
size of map data
41B9 ED52
41BB D1
41BC AF
CLAY
JR 2 RSMX ;if not, skip next 2
SET 7,(HL) ;make it an inverse char
RES 3,(HL)
EX DE,HL ;get map address back into HL
RLD yor RRD if accessing bottom
; this restores map data
INC HL ;move to next map char
INC DE ;move to next screen position
DINZ NXTX ;loop for each char
POP BC ;restore stack
RET ;back to BASIC
POP BC 7restore stack
LD BC,(XPOS) ;B=y, C=x
BIT 0,A ;check whether scroll was
JR NZ SVMY if right, go find screen
LD A,1F ;7A = 31d
LD E,A iDE = 31d
ADD HL,DE jadd to map address since
} is rightmost screen column
ADD A,C 7A = xX + 31d
LD E,55 7;DE = 85a
cP E ;did map address go past
JR C SVMY ;if not, skip next 2
SBC HL,DE ymove back 85d chars
SCF icarry flag remembers a left
PUSH HL store map address
LD HL,(DFIL) ;get start of display file
INC HL 7move past ist 118d char
JR NC SVSY if scroll was right, skip 2
LD E,1F 7DE = 31d
ADD HL,DE ymove to last char on list
EX DE,HL ;Save screen address in DE
POP HL iget map address
LD C,B cay
LD B,18 jloop counter for 24d chars
JR CLAY iskip 1st part of loop
LD A,19 iA = 25d
cP Cc scheck if y has crossed to
JR NZ CLAY
CALL ACCB
PUSH DE
LD DE,084D
SBC HL,DE
POP DE
XOR A
if not, skip the next 5
igain access to bottom half
save screen address
7;DE = 2125d = 25d * 85d =
jadjust map address
irestore screen address
iA = 0
41BD ED67
half of map
data into A
41BF EB
41CO 77
41C1 CBSF
inverse
41C3 2804
instructions
41C5 CBFE
41C7 CB9E
41C9 EB
41CA ED6F
half of map
41CC D5
41CD 115500
41D0 19
41D1 E3
41D2 1E21
41D4 19
41D5 Di
41D6 EB
41D7 oc
41D8 10D3
41DA C9
41DB 320D
variable
screen:
line
41DD 2A1640
41E0 E5
41E1 21DB41
string
41E4 221640
41E7 CD1C1i1
variable
41EA 23
41EB 23
41EC 23
41ED E3
address on stack
41EE 221640
41F1 2A0C40
41F4 112300
41F7 19
41F8 Dl
41F9 011F00
41FC EDBO
41FE 23
41FF OE20
4201 EDBO
4203 C9
4204 2A1040
4207 3E80
4209 BE
420A C8
RRD sor RLD if accessing bottom
; this moves 4 bits from map
EX DE,HL get screen address into HL
LD (HL),A ;copy map char to screen
BIT 3,A ;check if it should be
JR Z RSMY ;if not, skip next 2
SET 7,(HL) ;make it inverse
RES 3,(HL)
RSMY EX DE,HL get map address back into HL
RLD jor RRD if accessing bottom
; this restores map data
PUSH DE ;store screen address
LD DE,0055 7DE = 85d
ADD HL,DE ;move down 1 map line
EX (SP) ,HL tget screen address into HL
LD E,21 ?;DE = 33d
ADD HL,DE ymove down 1 screen line
POP DE restore map address
EX DE,HL jget map address back into HL
INC C keep track of y position
DINZ NXTY ;loop for next char
RET ;back to BASIC
;
STRM DEFB 32 OD 7M$, name of M string
FILM
LKAG
; routine to fill the BASIC string M$ with 63d chars from the
; the last 31 chars from the 2nd line and all 32 from the 3rd
LD HL,(CHAD) ;get current value of CHAD
PUSH HL sstore it
LD HL,STRM ;get address of name of
LD (CHAD),HL j;put it in CHAD
CALL 111C ;ROM routine to find a
INC HL
INC HL
INC HL ;get to first char of string
EX (SP) ,HL ;HL = old CHAD; put M$
LD (CHAD),HL ;restore old value of CHAD
LD HL,(DFIL) j;get start of display file
LD DE,0023 ?DE = 35a
ADD HL,DE get to 2nd char of 2nd line
POP DE iget start of M$
LD BC,OO1F 7BC = 31d
LDIR copy 31d chars
INC HL 7skip over 118d char
LD C,20 7BC = 32d
LDIR ;copy 32d chars
RET 7back to BASIC
LD HL,(VARS) ;find G$ in BASIC variables
LD A,80 ;end of VARS marker
CP (HL)
RET Z scouldn’t find GS
420B
420D
420E
4210
4212
4214
4216
4218
421A
421c
var
421F
4221
4222
4224
4226
4229
422A
422C
string
422D
422E
422F
4230
4231
4232
4234
4235
3E4C
BE
2824
CB6E
2818
CB7E
280E
CB76
2805
111200
227B40
El
23
228240
210000
228440
3E00
328640
218740
3600
MILT
1LTV
SKPV
LD
cP
JR
A,4C
(HL)
Z FDIT
BIT 5,(HL)
JR
2 ARST
BIT 7,(HL)
JR
Z LTV
BIT 6,(HL)
JR
Z MILT
LD DE,0012
JR
SKPV
INC HL
BIT 7,(HL)
JR
LD
Z MILT
DE,0006
ADD HL,DE
JR
LKAG
ARST INC HL
FDIT
SETF
KYLP
IGN3
CRON
SCON
Lb
E, (HL)
INC HL
LD
D, (HL)
INC HL
ADD HL, DE
JR
LKAG
INC HL
LD
E, (HL)
INC HL
LD
D, (HL)
PUSH HL
ADD HL,DE
LD
(GLST) , HL
POP HL
INC HL
LD
LD
(GCUR) , HL
HL, 0000
(TIMR) ,HL
A,00
(TMR3),A
HL, ELEN
(HL) ,00
HL, FLAG
SET 0, (HL)
LD
LD
HL, (TIMR)
DE, 0001
ADD HL,DE
LD
JR
LD
(TIMR), HL
NC IGN3
A, (TMR3)
INC A
LD
LD
LD
(TMR3),A
HL, (DFCC)
A, (TIMR)
BIT 6,A
JR
LD
JR
LD
NZ CRON
(HL) ,00
SCON
(HL) , 80
CALL 02BB
LD
B,H
7G$ marker
;d0R if G$ found
if array or string
;if 1 letter var name
;if more than 1 letter name
718 bytes to skip FOR-NEXT
;loop to find end of var name
76 bytes to skip number
yada to find next var
look again
;get length of array or
yadd and get to next var
;look again
tget length of GS
push start of G$
;find end of G$
7store end
jpop start
7store start of G$
;zero timer
+zero 3rd timer byte
;initialize entry length
yassume a key is depressed
sinc. timer
;no carry?, ignore TMR3
;if carry then
zinc TMR3
get print position
iget low byte of timer
7flash cursor by bit 6
cursor off
7skip cursor on
cursor on
;ROM key scan routine
427E
427F
4280
4283
4285
4287
4288
428A
428C
428E
428F
4291
4294
4295
4297
4299
429C
429E
429F
42Al
42A2
42A5
42A7
42A8
42AA
42AB
42AD
42AE
42Bl
42B4
42B5
42B7
42BA
42BC
42BE
check
42C0
42C3
42C5
42C7
42C8
line
42CB
42CC
42CD
42CE
42CF
42D0
42D1
42D2
2A0E40
3600
1857
SF
2A2940
1002
statement?
42D4
42D6
42D7
42D8
42D9
42DB
42DC
42DE
42E0
42E2
RDKY
NEOL
GOBK
ENTR
VLDK
NXCH
CHK=
LK-,
CK-,
LD C,L
LD E,L ;L=FF if no key pressed
LD HL,FLAG
BIT 0, (HL) ;has flag been reset?
JR Z RDKY ;if so, read key
INC E jis a key pressed?
JR NZ KYLP 7JR if old key still pressed
RES 0,(HL) sready for new key
JR KYLP sloop for proper key
INC E ;is a key pressed?
JR Z KYLP ;if not, loop for key
CALL 07BD decode BC to find address of
LD A,(HL) ;character code of key
CP 77 ;delete key?
JR NZ ENTR 7no? check for enter key
LD HL,ELEN ;get address of entry length
LD A,00
CP (HL) ;length=0?
JR Z SETF ;then don’t delete
DEC (HL) ;dec entry length
LD HL,(DFCC) ;get print position
LD (HL) ,00 7erase character
DEC HL 7move position back
LD A,76
CP (HL) ;end of line in display file?
JR NZ NEOL
DEC HL ;move past EOL character
LD (DFCC),HL j;store new print position
LD HL,(GCUR) ;get current position in G$
DEC HL
LD (HL) ,00 ;erase deleted character
LD (GCUR),HL ;store new position in G$
JR SETF sloop for next key
CP 76 ;check for enter key
JR NZ VLDK ;if not, JR to valid key
LD HL,(DFCC) ;get print position
LD (HL) ,00 7erase cursor
JR EXIT
LD E,A ;store character in E
LD HL, (NXLN) ;get address of next BASIC
INC HL
INC HL
LD B, (HL) ;7B=length of line
DEC B
INC HL
INC HL
INC HL
DINZ CHK= ;nothing left in REM
JR GOBK ;then go back
LD D, (HL) get char in REM
LD A,E get keyed char
cP D yare they equal?
JR Z ADDG yyes? then add to G$
INC HL
DINZ CK-, ynothing left in REM?
JR GOBK yno? then go back
LD A,16 ;check for - character
CP (HL)
42E3
42E5
42E7
42E8
42E9
42EB
42EC
42EE
42F0
42F1
42F2
42F4
42P5
42F6
42F8
42FB
42FC
42PF
4300
4301
4302
4304
4305
4307
4308
430B
430E
430F
4310
4311
4314
4315
4319
431A
431c
431E
4320
4323
4324
23 ENDC
7E LDCH
220E40 NT76
2A8240
FL
73
23
228240
2B
ED4B7B40
AF
ED42
209C
0600 EXIT
218740
4E
cg
as AE |
JR Z ENDC
LD A,1A
cP (HL)
RET NZ
JR NXCH
INC HL
DINZ LDCH
JR GOBK
INC (HL)
LD HL, (DFCC)
LD (HL),E
INC HL
PUSH AF
LD A,76
cP (HL)
JR NZ NT76
INC HL
LD (DFCC) ,HL
LD HL,(GCUR)
POP AF
LD (HL),E
INC HL
LD (GCUR),HL
DEC HL
LD BC, (GLST)
XOR A
SBC HL,BC
JR NZ GOBK
LD B,00
LD HL, ELEN
LD C, (HL)
RET
7go get end character
7check for , character
ynot - or , so REM invalid
+go get next char in REM
ynothing left in REM?
;no? then go back
;A=end character
;CP with keyed character
zis keyed code too large?
;A=start character
7CP with keyed character
zis keyed code too small?
;get address of entry length
yadd 1
;get print position
;print keyed character
;end of line in display file?
;move past EOL character
7get current position in G$
;put keyed char in G$
store new position
+BC points to last byte in GS
;clear carry flag
zany more room in G$?
syes? then GOBK
7get address of entry length
;put length in BC
DAE} ‘PDATE
AGAZTINE
11
MAGAZINE
—
MECHANICAL
AFFINITY
Serving ALL QL Users
Frank bavi Paul Helogren
513 ast Main St 5231 Kilten Wood Court
Pere, Indiana 46170 Indianapolis IN, 46254
317-473-8031 evenings & weekends
Trung Cards, disk interface for teo 360K o 720K disk dives, @O6K of
werory and TK, reconditioned for $100,
Gold Cards 2 drive disk interface, 2 weg wenory,TK2 and 18 negster2
gee, Ail this for only $230.
Super Gold Cards, built in 4 drive alaptor disk interface, 68020
processor, 4 weg of wenory, runs at 24 wegaterz speed,
tuilt in true parailel printer port (with printer cable) and
the latest TK2, The price is $488, Contact us about our
Trump , or Gold Card trade in prograe,
Sinclair & Printers, black eith @ logo, $ pin printers thet are
nade to run vith the OL (seriall. Price is $50.
CUESHELL, the new graphics oriented desktop program for the OL.
It gives you progran options on the soreen, shich you
can easily control, change or launch. It is pointer
environment driven snd wakes full use of level 2
rivers, Our price is $62.
Page Designer 3, the Os easiest to use full feetured desk top
publishing progran, Comes vith toads of fonts and clip
rans
APART RRM REARARRIEE
317-291-6002 evenings & weekends
art ina 4 disk set, You can even use HOF fonts from
Digital Precisions Professional Publisher, as well as
other clip art frow other OL programs. This ad was done
using PO, Our price is $63,
Text@7Plust, an excel tent word prooessor thal alloes you to use
drivers for all the latest printers, gives you aany fonts
as vell as columns end precise control of paper size «a
print size. Our price is $120,
LineDesign Yersion2, 9 top of the line superb vector drawing
progran package that allons you to wix many! fonts and
graphics (10 disk set) with your artwork, For $153.
QL--IDE Hard Drive Interface for only $115.
Detalesign 3, & fast pointer driven database that is easy to set
up and use for the QL, The price is $95.
Gliberator 3.36, compiles virtually al! of SiperBasic, and it is
easy fo use, with OL and QML, The price is $75,
CONTACT US FOR ALL YOUR QL NEEDS, WE'LL D0 OUR BEST!
RIAA AEA UIE TPE
of publication ! | !
We are a large quarterly magazine that is
produced on Sinclair computers. We cover
the QL, Z88, TS2068, Spectrum and the 2X81.
Minimum issue size is 50 pages, and does
include ads from Sinclair dealers. The price is
in North America;
and we do accept the British Pound or the
German Mark equivalents for a subscription.
$18 in USS
Send all funds and requests for a new
Checks,
subscription to:
UPDATE! MAGAZINE
P.O, BOX 1095
PERU, IN 46970 USA
UPDATE! Magazine
The only known, privately produced
Sinclair computer magazine that
covers ALL of the Sinclair computers.
We are now starting our 8th year
all
$22 elsewhere,
travelers
checks, cash are
acceptable.
MODEMS « Magic
by EKkled Kakal CATUG-T/SNUG
My previous article (Modems or Black Magic,
UPDATE! Jan. 94) discussed the basic elements of
communications by modem, but there is a lot more of
this Magic. The field of the Information/
Communications Super Highway is very complex and
new developments appear at fast pace, such as an an-
nouncement by a company that they are developing a
direct wire communications system that obsoletes mo-
dems. With the prevailing use of fiber-optics lines,
communications will be in the millions of data bits
transfer rate such as the cable TV system is now.
Computers —-nor-
mally process 16 or 32
bit words of digital in-
formation on their inter-
nal data buses. Even the
computer’s parallel
printer port offers a data
path that is 8 bits wide.
However there is only
one transmitting wire
(the other wire is for sig-
nal return) in a tele-
phone line. Modems
must break down
(Modulate) each digital
word into a sequence of
audio signals, and send
each signal in tum along
the telephone line. An
8-bit data word is sent
as eight |-bit signals.
Most modems for
computer communication are asynchronous or unsyn-
chronized. (synchronous modems are more expensive,
they require complex circuitry.) Because two commu-
nicating modems are operating asynchronously, the
receiving machine must know when a stream of data is
being sent, where each stream of data starts and ends,
and whether the stream is correct or not (see the
previous article), To accomplish this feat, extra bits are
added to the data to organize it into a standard
sequence known as a dataframe having a start bit, a
data bit, a parity bit and a stop bit.
Port Connections and Signals
The translation from parallel data words to a serial
data strearn takes place within the computer's serial port
circuit in an IC known as a Universal Asynchronous
Receiver/Transmitter (UART). Logic 1’s and 0's are
converted into bipolar signals. Logic I's are translated
to - 5 to - 15 volt levels (mark), and logic 0's are trans-
lated to + 5 to + 15 volt levels (space). Those bipolar
signals are supplied to the TX (transmit) pin of a stan-
dard serial communications port. Those physical con-
nections are also called RS-232C ports. (RS-232C is a
standard of the Electronic Industry Association) In
Europe, the RS-232C standard is called V.24.
An extemal modem connected to the serial port
MOdulates the bipolar TX signal into an audio signal
which is sent over the telephone line. Audio signals
teceived by the modem and DEModulated into bipolar
signals are retumed to
the serial port's RX
(receive) pin. An inter-
nal modem is a plug-in
unit installed inside a
computer containing a
serial port. For most
serial port connections,
only TX , RX and
ground wires are
needed to establish a
working port.
Communications
Software
All communications
software must be able
to operate in two dis-
tinct modes: the com-
mand mode, and the
terminal mode. In the
command mode, any
commands issued control either the communications
software, the host computer, or the modem connected
to it In the terminal mode, any commands issued are
sent directly to the modem, or they are sent through the
modem and to the remote computer modem.
Typical instructions that might be issued in the
command mode include retrieving a telephone number
from a data log, setting the proper communications
protocol, dialing a number, and saving any data that is
teceived to a disk.
In the terminal mode, all keyboard (or disk) input
is sent directly to the modem. If the modem is off-line
or not connected to a remote computer modem, the
input is recognized as modem commands. if the mo-
dem is on-line and has an active connection to a remote
computer modem, all inputs are sent through the mo-
dem to the remote computer unless certain special con-
trol characters precede the data.
13
—————
The difference between the command mode (in
which commands are acted on locally) and terminal
mode (in which commands affect the remote com-
puter) is probably the most confusing aspect of modem
communications for beginners.
One common mistake made by newcomers, for
example, is to initiate a file UPLOAD in terminal mode
without issuing a corresponding command in the
command mode. The first command is required to tell
the computer to send a file. The second is necessary to
instruct the host (remote) computer to receive it and
store it on disk.
Flow Control
To control the flow of data between two modems,
software codes (such as XON and XOFF) are passed
between them. Communications software intesprets
such codes and controls modem operation accordingly.
However, the flow of data between a computer
and modem is not always controlled by software codes.
Instead, additional signal lines in an RS-232 port allow
for hardware flow control (or handshaking). The Re-
quest To Send (RTS) line tells a modem to prepare to
receive data from the computer. Once the modem is
ready to send, it will retum a Clear To Send (CTS)
signal to the computer. RTS and CTS signals act
together to handle data transfer
When the computer is ready for operation (but
not necessarily ready to send data), it asserts Its Data
Terminal Ready (DTR) signal. DTR must remain active
throughout the entire connection time. The modem
sends a Data Set Ready (DSR) signal to the computer
after the modem has been activated, and has finished
self-tests or preparation for connection. The DTR and
DSR signals establish the connection between modem
and computer, but they do not control the flow of data
between the two.
If @ telephone ring signal is detected at the mo-
dem, a Ring Indicator (RI) signal is sent to the
computer. When the modem subsequently picks up
the ringing line and detects the presence of camer, a
Data Carrier Detect (DCD) signal is passed to the
computer. Ring and carrier detect signals invoke the
communication software to receive communication
from a distant modem.
Modulating the Signal
A modem transmits data by-generating a carrier
that is then modulated. Several different methods of
signal modulation have been developed through the
years to improve the efficiency of data transfers. Of
course, two modems must be capable of the same
modulation design for successful communications.
Two modems that are communicating with each
other must generate different carrier frequencies. Each
communication standard defines the transmitting and
feceiving cartier frequency. For example, for 300
BAUD communication, one modem must have a
carrier center frequency of 1170 Hz, and the second
must have a center frequency of 2125 Hz. By conven-
tion, the modem initiating the call, or the originate-
mode modem, has the lower carrier frequency. The
modem receiving the call, or the answer-mode modem,
has the higher carrier frequency
In the early days of modem communication, cach
transition of the audio carrier signal represented a single
bit. Each transition is known as a BAUD, so the BAUD
rate equaled the transmission rate in bits-per-second or
BPS. Unlike those early modems (like the TS-2050),
modern modem designs allow two, three, four, or
more bits to be encoded into every audio signal transi-
tion (or BAUD). This means that modem throughput
now equals two, three, or four times the BAUD rate
being carried on the telephone line.
For example, a modem operating at 2400 BAUD
(2400 audio signal transitions per second) can cary
4800 BPS if two bits are encoded onto every BAUD.
The same 2400 BAUD modem can carry 9600 BPS if 4
bits are encoded onto every BAUD. Today, the mo-
dem’s BAUD rate rarely matches the modem’s bit rate
in BPS. If the modem were operating at 4800 BAUD
with 3-bit encoding, it would be transmitting 14,400
BPS (14.4 KBPS) V.32bis, and so on.
The concept of encoding is different from data
compression. Encoding transfers all original data bits
from one system to another. While data compression
replaces repeating sequences of bits with much shorter
bit sequences known as symbols or tokens. Encoding
designs and data compression are described in more
detail later in this article.
Modulation Designs
All waveforms have three basic characteristics —
amplitude, frequency, and phase. Each of those charac-
teristics can be adjusted to represent a bit.
Frequency-Shift Keying(FSK) is similar To Fre-
quency Modulation (FM) where only the frequency of
a carrier is changed, and it is one of the oldest modula-
tion design still in use. FSK sends a logic | at one
particular frequency (usually 1750 Hz), and a logic 0 is
sent at another discrete frequency (often 1080 Hz).
Frequencies are typically sent at 300 BAUD, and each
BAUD can carry one bit, so FSK can send 300 BPS.
This early technique resulted in the classical “BAUD
equals BPS” which still exists today. Bell 103 was the
widely accepted modem standard — simple FSK
modulation at 300 BAUD. This is the only standard in
which the data rate matches the BAUD rate.
Phase-Shift Keying (PSK) is a close cousin of
FSK, but the phase timing of a carrier wave is altered
while the carrier's frequency stays the same. A logic 1
or logic 0 is represented by the alteration of the camer's
14
phase. Because phase can be shifted in several precise
increments such as 0°, 90°, 180° and 270°. PSK can
encode one, two, three, or more bits bit per BAUD. A
1200-BAUD modem using PSK can transmit 2400 BPS
over an 1800 Hz carrier. PSK in conjunction with FSK
can encode even more bits per BAUD.
In Quadrature-Amplitude Modulation (QAM),
both the phase and amplitude of the wave are modu-
lated to encode up to six bits onto every BAUD, al-
though only four bits are usually reserved for data.
Most QAM modems have a 1700-Hz or 1800-Hz carrier
and a base rate of 2400 BAUD, so they can carry up to
9600 BPS.
Trellis-Coded Quadrature-Amplitude Modulation
(TCQAM or TCM) also generates an !800-Hz carrier at
a 2400-BAUD base rate, but it uses the fill 6-bit encod-
ing capability of QAM to provide a rate of 14400 BPS.
TCM is now the most popular modulation design for
high-performance modems because data can be
checked on-the-fly with high reliability.
As the speed increases, line noise becomes very
critical to communications and error correction be-
comes vital
MNP Standards
The Microcom Networking Protocol (MNP) is a
complete hierarchy of standards developed during the
mid 1980s. They were designed to work with other
modem technologies to provide error correction and
data compression. Originally developed by Microcom
Inc., the protocol is now in the public domain.
MNP provides error control and data compression
when one modem is communicating with another mo-
dem that supports MNP. MNP class 4 is specified by
the ITU (Intemational Telecommunications Union)
V.42 asa error control design for LAPM (Link
The Vees — The Most
Access Procedure for Modems) in the event that V.24
cannot be invoked. Out of ten MNP levels, most mo-
dern modems support MNP2 to MNPS. Each MNP
class has all the features of the previous class plus its
own.
MNP class 2: (stream mode): Data is sent in both
directions at the same time. That results in a speed
about 84% as fast as data transmissions with no error
correction.
MNP class 3: The sending modem strips the start
and stop bits from a data block before sending it. The
receiving modem then adds start and stop bits before
passing the data to the receiving computer. It is about
8% faster than data transmissions with no error correc-
tion.
MNP class 4: A protocol (with some data com-
pression) that checks telephone connection quality and
uses adaptive packet assembly. On a noise free line,
the modem sends larger blocks of data such as 1024
bytes. If the line is noisy, the modem sends smaller
blocks of data such as 128 bytes so that less data must
be resent in the event of an error.
MNP class 5: Provides data compression by de-
tecting redundant data and converting it to fewer bits or
tokens, thus increasing effective data throughput. A
receiving modem decompresses the data before passing
it to the receiving computer. MNP5 can speed data
transmissions by as much as a factor of two compared
with protocols having no data compression or error
correction design.
MNP class 6: Universal link negotiation allows
modems to obtain maximum performance from a line.
The modems start at low speeds, then move to higher
speeds until the best speed that both modems can work
at is reached.
Common ITU Standards
V.17—Descnbes an application-specific modulation design
for Group 3 fax which provides two-wires half-duplex,
trellis-coded transmission at 7200, 9600, 12000, and 14400
BPS. Despite its low number, this is a recently introduced
standard.
V.21—Provides the specifications for 300 BPS FSK serial
modems (based on BELL103).
V.22-Provides the specifications for 1200 BPS (600 baud)
PSK modems (based upon BELL212A)
V.32—Defines the first of the truly modern modems as a
9600/4800-bps, QAM, full-duplex modem operating at
2400 baud. This standard also incorporates trellis coding
and echo cancellation to produce a stable, reliable, high-
speed modem.
V.32bis—A fairly new standard extending the V.32 specifi-
cation to define a 4800/7200/9600/12000/14400 BPS
TCQAM full-duplex modem operating at 2400 baud.
Trellis coding, automatic transfer rate negotiation, and
echo cancellation make this type of modem one of the
most popular and least expensive for general
communication.
V.32fast—The temporary name of a standard that the ITU
has not yet completed. When finished, it will probably
replace V.32bis with speeds up to 28,800 BPS. It is
anticipated that this will be the last analog protocol, even-
tually giving way to all-digital protocols as local telephone
systems become entirely digital.
V.34—The ratified version of V.32fast. It provides for data
speeds up to 128 KBPS with transmission rates as high as
3429 BAUD.
V.42—Defines a two-stage process of detection and
negotiation for LAPM error control.
V.42bis—Extends the V.42 standard to include data
{ compression.
Reference: Stephen J. Bigelow, Elecironics Now
15
RMG
ENTERPRISES
Supports
Sinclair/Timex Users!
2 Call or FAX for information on
prices and availability, hardware or
software
(=
You can send a legal and 50¢.
Request a price sheet or send $4 fora
GIANT IMPORT GIFT catalog; not
computer related
NEW
The Companion Disk for LarKen
$9.95 PP.
We also carry extensive PC shareware.
Send check or money order to:
RMG Enterprises
14784 S QUAIL GROVE CIR
OREGON CITY OR 97045
or call and use your VISA or MasterCard
503 655-7484 (aam-eem Tue-Sat) FAX 503 655-4116
| IT’S READY!
CCATS & RMG Enterprises
| Are Pleased To Announce
oo leg
=|
ZX-81 TS-1000 TS-2068 QL
Contents are exclusively those developed and
published by THE PLOTTER authors over
the past 12 years.
Price: $14.95 pp. per copy.
To Order:
Send vour check or money Order to:
RMG Enterprises
14784 S QUAIL GROVE CIR
OREGON CITY OR 97045
Call and use your VISA or MasterCard
503 655-7484 (8AM-6PM Tue-Sat) FAX 503 655-4116
100
110
112
116
120
122
130
132
140
142
144
146
148
150
152
154
199
200
202
206
208
210
212
220
222
224
225
226
230
232
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
ORG OGN
PIII IOI I HOR ak a
7* SERIAL PRINTER OUTPT
as PROGRAM
7* BOB BERCH 3/83
GIRO IR a a ak
JR 50 ; ONE CHAR ~- ZX
JR 360 ; PRINT Z¢$
JR 300 ; COPY
JR 200 ; LISTING
JR 210 ; CONT LIST
}TYPE A CHAR. - ASCII#**
LD A, (AD1)
JR 100
;TYPE A CHARACTER -ZX**
LD A, (AD1)
CALL /500
PUSH AF
CALL /100
POP AF
CP 13 ;TEST FOR C.R.
RET NZ
LD HL,4096; PAUSE FOR
DEC HL; C.R.
LD A,H
OR L
JR NZ,72
RET
LD A,13;ONE C.R.
JR 60
;
;MAIN OUTPUT ROUTINE
LD C,A
CALL HO2E7 ;SET - FAST
LD B,11;BIT COUNTER
JR 130
RRC C; TEST
JR C,132
OUT HFF,A; SPACE BIT
LD DE,HO190 ;TIME CONST
DEC DE ; FOR BAUD RATE
LD A,D
OR E
JR NZ,140
SET 7,C; SET STOP BITS
IN A,HFE; END BIT
DJINZ 120
RET
;
;TYPE A LISTING****x4Kx
CALL /90;ONE C.R.
LD HL,16509
LD (AD2),HL
CALL HOA2A ;
LD HL, (AD2)
LD BC,/90;SET RET ADDR
PUSH BC
CALL HO745
POP BC
LD(AD2),HL
LD HL, (DFCC)
DEC HL
CLS
7 OUT-LINE
7 FIND END
234
235
236
238
240
242
244
246
247
248
250
252
299
300
310
312
320
359
360
362
364
370
372
380
382
384
386
389
390
392
399
400
402
410
412
414
420
422
424
426
432
434
435
438
440
442
444
446
499
500
502
510
$12
515
517
520
522
524
530
532
534
535
536
538
539
540
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
REM
SUB A
DEC HL
CP #; “ENGLISH POUND"
JR Z,235
INC HL
LD DE, (DFIL);
AND A; LENGTH
SBC HL,DE
PUSH HL
POP BC
CALL /400
JR 210
i
COMPUTE
7TYPE
fp COPY *xRKARKKARKK KR RAK
LD DE, (DFIL)
LD BC, 726
JR 400
f PRINT 2g tik tied terete
LD HL,/700;POINT TO
LD (CHAD) ,HL;DATA
CALL H111C;"GET-VARS"
RET C;EXIT IF NO Z$
INC HL;PICKUP LENGTH
LD C,#;IN BC
INC HL
LD B,#
INC HL;POINT TO
PUSH HL;STRING START
POP DE; IN DE
;TYPE A STRING*&ke KARE
}DE=START BC=LENGTH
LD A,B
OR C
RET Z
PUSH BC
PUSH DE
LD A, (DE)
CALL /54 ;TYPE CHAR
POP DE
POP BC
DEC BC
INC DE
CALL HOF46;TEST BREAK
JR C,400 ;KEY
RST 8;ERR REPORT
12; "D"
;
:CONV ZX TO ASCII¥**#*%
;IN + OUT THRU A REG.
CP 128
JR NC, 580
cP 118
JR 2,590
SUB 64
RET NC;CONTROL CHARS
ADD 64
CP 28
JR C,540
CP 38
JR C,538
ADD A,7 ;LETS
ADD A,20 ;NUMS+LETS
RET
AND A
542 REM JR NZ,550
543 REM LD A,32 ;SPACE
545 REM RET
550 REM CP 11
552 REM JR NC,560
553 REM PUSH AF ;GRAPHICS
554 REM LD A,35
556 REM CALL /110
557 REM POP AF
558 REM ADD A,48
559 REM RET
560 REM LD HL,/600 ;SPECIAL
561 REM SUB 11; CHARS
562 REM ADD A,L
563 REM LD L,A
564 REM JR NC,567
565 REM INC H
567 REM LD L,#
568 REM LD A,L
569 REM RET
580 REM SUB 128; INVERSE
582 REM CALL /500
584 REM ADD 32
586 REM RET
590 REM LD A,13 ;CARG. RET.
592 REM RET
599 REM ;
600 REM ;LOOKUP TABLE FOR CODES 11 TO 27
610 REM DATA 34,38,36,58,63,40,41,62,60,61,43,45,42,47,59,44,46
699 REM ;
700 REM DATA 63,13; "Zz$"
990 REM END
1000 LET OGN=32512
1002 LET DFCC=16398
1004 LET CHAD=16406
1006 LET AD1=16417
1008 LET AD2=16507
1010 LET DFIL=16396
QLZX
The Journal Covering Amateur Radio and Sinclair Computers
ZX80; Micro-Ace: ZX81; TS1000, 1500, and 2068; QL; Z88
Alex. F. Burr, K5XY, Publisher
2025 O'Donnell Drive
Las Cruces, NM 88001
HOW TO BUILD A LARKEN DOCK BOARD
Les Cottrell 108 River Heights Drive Cocoa, FL 32922-6630
To answer a request for schematics of the LarKen system | carefully examined the
boards and sketched up what | saw. Peeking under the chips turned out to be more
difficult than expected so to validate the dock board schematic two working samples were
made. The first was built on a discarded Zebra spectrum emulator board. (The chip had
been mounted on the original Larken dock board.) The Larken dock board can be used
with Aerco, Oliger or Ramex to add a second DOS.
To use one of the Zebra cartridge boards you must remove all chips, sockets and traces
except the fingers that go into the 2068. Use an X-Acto knife to remove the traces. This
is time consuming but the board will be a good fit in the cartridge slot. The locations
shown in Fig.2 is the layout of the original LarKen. Use a Dremel or small hand drill to
make the holes required for chip sockets and other components.
The second one was built on a plug-in perf board with .1 spacing edge-connector, Radio
Shack P/N 276-192. This part is not listed in the current catalog, but | have found 4
boards in 2 different stores this past week. The dimensions of the original Larken dock
board are shown in Fig. 2. This is easier to work with since drilling is not required.(The
board must be cut out, but the little cutting wheels on a Dremel make this a fun job.) One
word of warning here - check to see that the card fits and the cartridge door will close by
temporarily placing a chip and socket in the outermost location. (Lesson learned.) The
dock area is filled with this circuit so stick close to the locations shown. The transistor
should lie as flat as possible.
All chips should be socketed. The sockets can be held in place with a dab of glue. Use
30-gauge wire-wrap wire for the point to point wiring of the circuit. Follow the schematic
to make your connections. Start by soldering the wire to the edge connector and then
routing the wire to the first point, stripping away enough coating to make one loop around
the leg, soldering that point and moving to the next point. Radio Shack’s 276-1570 Wire-
wrapping tool has a neat little stripper hidden in the handle that you works well. This step
involves "worrying" the coating away by back and forth motions and should be done
carefully. You can also make the loop without any stripping and melt the coating and
make the solder joint at the same time. Perform a continuity check on a few joints to
verify your technique if you choose this method.
Note that A8 and AQ don’t go to the same pin numbers on the RAM and the EPROM.
They have a check mark on the schematic as a flag. On the units | made | socketed the
transistor, LED and the big diode using individual sockets call "springs" that a friend gave
me. These were especially useful for the large diode whose markings | did not recognize.
| found a diode that looked similar (a 1N4003) and tried it. | found one that worked on
the first try on unit one, but | had to try several on unit two.
19
Larken Cartridge Schematic
Figure 1
a
ww
wv
ww
ov
ou
um
ev
uw
lw
ov
ow
ev
ww
ov
sv
w
1 -BueyIO HE SL vy!
tose sop S}-OVSLZAH 297 0% PoMeUl 1 etait
eee VZzzzNe- 1D U0Le- 28
Said OM L8H on e'b- He
00S" LDH UM be Atl zv0"- 6D
fe Uy 01-98 att r= 29
%e OM VS" SE “20/0 A OF ‘4H 2Z~ 19
HSae
wh
Le. or
& 25 2
Peo rai
oe ie zo} ‘ww icf ow
oaun
You may need to "sharpen" the point on your soldering iron. Where the wires cross they
have a tendency to fuse together. Use a toothpick to separate them to avoid a “crossed
wires" problem. Before you install the chips you should verify that all the connections are
proper using an ohmmeter or continuity tester. After the circuit has been tested and
works properly carefully coat the wires with clear finger nail polish to coat any bare spots
and hold the wires apart.
It is imperative that you use the chips called out on the schematic. Due to differing
values required to activate "high" and “low" some substitutions with faster chips will not
work! (Lesson learned. Thanks to Nazir Pashtoon for explaining this.) HCT’s can be used
where HCTLS's are called for and HM6264P-15 works in the ram spot. The small diodes,
1N4148’s, should be at least as good as Radio Shack P/N 276-1122. Since the circuit
is sensitive “bargain diodes" should be avoided.
Resistors Rt, R3 and Ré4 are 1.8K which is not a standard value found at Radio Shack.
| bought a package of 100 elsewhere so | have spares! If anyone is serious enough to
start construction on a home-made dock board send me a SASE and | will send (3)
1.8K’s and a few of the little “springs”.
Figures 3 and 4 are a representation of the traces on the Larken board. They are
included for reference only. My drafting skills seem to fade with each birthday. If | can
become proficient with the CAD#3 program maybe a useful printed circuit layout could
come later
. 3.45 >|
a BS >|
ote
a
WO0AF SOTN?
ll
co S/-TSIISW
+
Lace
g 6
| bese a
8 ats .
Fieure 2
21
Zeer IHeEL C
el
WANTED/ FOR SALE/ OR HELP NEEDED
1) "Do you know of enyone that is using the Timex Disk Drive System (TOS)? I have a Seikosha
SP-1000AS serial printer. ] can get this to print using MSCRIPT and Vernon Tidwell serial patch
in text but not graphics. I do not have the owners manual for this $4.00 printer so I do not have the
print codes." HELP! A.E. Green, 4600 E, Hillsborough Ave, Tampa, FL 33610.
2) HELP WANTED..." My interestis with the TS1O00 computer.......(a) has anyone come up with
a battery pack to run the TS1000 away from a source of 110v AC power? My experiment with a
single 9 volt transistor radio battery did not work, perhaps several of these batteries connected in
parallel to increase the current available is the answer? (b) Along the same lines, can you suggest
asmall AC/DC portable TV that can be used in the absence of 110¥ AC power (brand, model ¥,
screen size, price) that makes a suitable monitor? [ also have a TS2040 printer but no power
supply, Can you suggest a source? I’m also looking for sources of TS1000 programs on cassette,
books, magazines, and user group newsletters, can youhelp?” Doug Wagoner, E. 4825 St,
Anthony Lane, Post Falls, Idaho 83854.
3) FOR SALE: (a) Fully assembled Hunter Board to provide extra non-volatile memory for the
2X81 or TS1000, for sale for $30. (b) Memopac 32K ram pack for the 2X81 or TS1000 or TS1500,
new in box with docs for sale for $20. (c) Two Beeper kits for the TS1000, ZX81 or TS1500 to give
sound for keypresses for sale for $10 each. (d) Brandnew A & J wafers for the TS1000 model,
clear, for sale for $2 each, minimum of 3 per order. Send check or cash to Eliad Wannum, c/o
UPDATE! Magazine, P.O. Box 1095, Peru, IN 46970.
4) Does anyone still use the Zebra disk system? | just came by two. Les Cottrell, 108 River
Heights Drive, Cocoa, FL 32922-6630,
5) FOR SALE: | just got anew IDE drive set up for my QL, so am now looking to sell my
Falkenberg Hard Drive System. It includes the drive interface board, MFM Omti Controller, either
a bus driver beard for a Gold Card or one for a Trump Card (let me know which you will be using
it with) an MFM cable and a hard drive case with power supply. It all works great; itis just that I
only have so much room, and need to make room for new stuff, while making sure that someone
can get gocd use out of my used, I am selling ALL OF THIS for the low price of $225. It will easily
work on any MFM hard drive from 20 upto 416 MEG of memory! This is a great deal for
someone. Send me either a money order, or I can ship it C.0,D. Eliad Wannum, c/o UPDATE!
Magazine, P.O. Box 1095, Peru, IN 46970.
AS ALWAYS ADS OF THE SORT LISTED ABOVE ARE
FREE FOR SUBSCRIBERS TO UPDATE! MAGAZINE.
THESE ARE FOR INDIVIDUAL USERS, NOT FOR DEALERS
TO USE TO ADVERTISE THEIR COMPANIES (FOR THOSE
PLEASE MAKE ARRANGEMENTS FOR AN AD).
25
REVIEW OF Chris Boutal's GENEALOGIST 3
Page |
by Hugh Howie
In a group of people gathered around the
glowing embers of a fire of a winter
evening, the talk can touch on many
things, and invariably someone will say
something which prompts another to say
remember-~~" and the talk will often
turn to reminiscences of a family member,
relation, or acquaintance, who did this,
that or something clse, then the tales
start to flow as to who what where and
when. And that is where a programme such
as GENEALOGIST 3 comes into its own.
This is a programme by Chris Boutal of
the United Kingdom. Great Britain.
England, Scotland, Ireland, Wales, cali
it what you wish. The lands of history
and legend. The lands of brave Knights
and Pair Damsels. The lands from where
so many of us in Canada and the USA came.
The land which so many still call "HOME"
But do we really know where we came from?
We all know some of our ancestors, but
can we put it together in some order and
sequence, with the correct dates and
times and facts? Who married who, and
who begat who?
GENEALOGIST 3 is the programme to do this
for you. All you have to do is provide
the data and enter it, and the programme
takes over and does all the work for you.
Enter names and dates and relationships,
and before you realise what has happened
you will be able to see a "Tree" grow
from almost nothing.
The system is very comprehensive. All
your family records, Births, Deaths,
Marriages, Burials are stored, and can be
displayed on screen, or sent to the
printer in many different formats to suit
your specific requirements.
GENEALOGIST 3 will keep track of census
returns and certificates, and any other
detail you have in mind. It has very
complete search and indexing facilities.
You want to know your ancestors? your
pedigree? Who are the heads of various
Khere you
family groups? Who you are?
came from? No, it will not tell you
where you are going, that's for you to
solve, But T can vouch for this, it will
make you want to KNOW the past! You will
spend so much time in research into your
family background, you will leave a lot
of things unattended.
From the various Family Groups which you
assemble as you enter data, a tree can be
generated, and displayed on screen or
paper for your perusal and reference.
You can make amendments to the tree as
you look at it, they can be made here or
in the Family Group format. The Tree can
be sent to the printer and this will give
you a wonderful display of all the
Ministers and Rogues and Vagabonds and
Highwaymen, who are part of your
heritage.
GENEALOGIST 3 is for the Pointer
Environment, but can also be operated
very efficiently from the keyboard if you
don't have a mouse. Selection of
facility can be made by using the arrow
keys, or by letter selection from the
menus, or mouse. Very versatile.
I have had Genealogist version 1 and
version 2. When Version 3 came along T
debated whether I needed it, and after a
lot of poking around in the recessed area
of the wallet - I came up with a few
moths and the necessary moolah to
purchase version 3, and T have not
regretted it for one instant.
It would appear that when so much
keyboard work is required, that the
constant work of moving a hand from mouse
to keyboard and back again, would be
rather tiresome, but this I have found
not to be the case. When you are
entering data, you will find that the
arrow keys are fine and dandy for moving
around. But when you start to RESEARCH
the data, looking for cross-references
etc., does that mouse ever scoot around
the screen! Definitely - the mouse is a
great advantage ~ but don't forget, if
you have no mouse the programme still
provides all the facilities required, and
at a goodly speed also.
REVIEW OF Chris Boutal's GENEALOGIST 3
Page 2
by Hugh Howie
Speed, now that is something else to be
discussed. The full programme requires
at least 512 Kb memory, so that lets out
Microdrive and bare bones QL. With Trump
Card, you have the extra speed, and also
the extra memory required. With the Gold
Card which is what I use, I find that the
programme is fast enough for me. With
the Super Gold Card? T am afraid you
might burn up the sereen with the extra
speed the Super is reputed to have,
But then again, we have an author who
thinks of those with less than the
epitome of QL's. We have an author who
thinks of the person who only has the
basic 128k machine (are there any left?)
There must be a few somewhere as Chris
has provided a Budget version of
GENEALOGIST for those people. And this
Budget version is on MDV or Disk! You
want — you got!
Now say you have been working on an
Archive based family, and having problems
transferring it to this new system, then
for a modest fee (very modest) Chris will
convert that to GENEALOGIST for you.
For those who have been using one of the
earlier versions of GENEALOGIST, the data
made with those versions will not work
with Version 3, but once again, all is
provided for, there is a conversion
programme provided. And it really does
work, as I used it myself.
In the manual there is a tutorial family
for you to type in, and after following
the tutorial, you will have no problem in
getting down to your own task. The
manual is very well written indeed, with
easy and clear instructions as to what to
do, and when. There is an excellent
"Command Reference" Section, where you
can see what each command does, and where
it is called from. Printed on pink paper
in nice clear distinct black type, it may
be thought that the pink paper could be a
bit hard to read, but this is not the
case, the manual is easy to read, easy to
follow, and of great precision.
The programne will take all the data you
like to enter, from the heads of
families, which is all that is really
required, but also all your brothers and
sisters and aunts and cousins. Just
about anything you want to put in.
If you want a screen or paper copy of a
family tree from the start, or from a
midway point, to a midway point - that is
what is available.
Let me say here and now, when T say you
can have a copy, I mean that you can have
a copy ON SCREEN or on PRINTER, so those
terms are synonymous. When using the
printer the option of Normal or Condensed
type is available.
GENEALOGIST 3 will provide a geographical
map of occurrences. This is based on the
grid system in use in British road maps,
and when IT suggested to Chris that the
programme was reaching the far corners of
the earth where that grid system might
not be in use, and that a Latitude &
Longitude option be made available, Chris
agreed and said that he would look into
this, and perhaps introduce it at a later
date. But don't let this stop you from
acquiring the programme. This is an
enhancement that T do not require, and T
wonder how many really do. I only
introduce those comments to show how
Chris has tried to provide everyone with
what anyone would like. This "map"
facility, will even tell you the distance
between two points when using the grid
system.
T almost forgot to tell you that it will
even provide pictures to go with a Family
group. Say you a have a picture of your
old Uncle Ned and Aunt Sarah at Xmas,
you do have that picture? Then by use of
a Video camera and a digitiser, you can
save that picture on disk, and later
project that picture on screen. There
are even a couple pictures provided as an
I can see this programme taking
Do you
example,
the place of slide shows.
remember them?
For those interested in Kings and Queens
of Britain, a Royal Tree is provided,
just so you see what a tree looks like.
REVIEW OF Chris Boutal's GENEALOGIST 3
Page 3
by Hugh Howie
Do you want to know who is related to
whom, and what that relationship is? You
got it! D'ya really need to know that
"Jo Blo is the second cousin twice
removed from Jenny Jewell"? Or that "Dan
is the great~great-great~grandfather of
Dave? The cross-reference is there.
For those occasions when the spelling of
a surname has been changed over the
years, that also has been taken care of,
as multiple spellings are recognised.
The user is even allowed to make up a
customised Research Report to suit ones
own requirements, as before making the
report, you are allowed to select the
details (from a list of thirteen) you
wish to appear in the report, but not
only that, you are permitted to select
whether the report should appear in row
or column format.
There is even a "Verify" mode provided.
Say you enter the birth of a parent as
1900 and the son as being born in 1905,
this "verify" will tell you "40 and 35
have an unlikely generation gap". Plus
many other things. (The programme gives
each family member its own unique number)
Much of the data is available for export
to the Psion suite of programmes. This
is to enable you to do further processing
that GENEALOGIST can’t do. For example
the Pamily Network and Research reports
can be exported to Archive. Tree data
can go to Abacus. Place/Time data can be
exported to Easel. Those same files can
be imported back into Genealogist from
Psion.
The programme comes set up for a red
screen with white lettering, but if you
don't like that you are provided with a
facility to change that to white on black
or almost any other combination you can
think of. You make your own colour
combination choice for any window.
As I am also writing a lot stuff dealing
with such things as movements,
occupations, anecdotes, family histories
and a whole lot of interesting, and some
not so interesting facts, that kind of
stuff, I have GENEALOGIST and
text®7 plus# running together, this way T
can quickly switch from one to the other
as T progress. In fact it is possible to
have two TREES going at the same time -
but watch your memory!
Now to a neat little thing. As the
programme starts, there is a little
square clock that comes onto the middle
of the screen, with real hands! and it
keeps popping up as you change from one
facility to another - just to remind you
of the passage of time! Neat neat neat.
You don't want to keep a record of your
family? Then use this programme to keep
track of those cats and dogs and horses
you breed, it can be used for just about
any record of ancestry or breeding you
wish.
Now where is this programme available?
Why, from my old friend:-
DILWYN JONES COMPUTING
41 BRO EMRYS, TAL-Y-BONT, BANGOR
GYNEDD, UNITED KINGDOM, LL57 3YT
The last price I have is from the
December 1993 Price List but I would
advise you to check first, I don't think
the price has gone up in that time, but
then the time between writing and
publication is not always predictable.
Genealogist 3 (Pointer) £60.00 Disk only
Genealogist 2 £30.00 Disk only
Genealogist 1 £19.50 Disk only
Genealogist Budget £12.00 MDV/Disk
But if you really are serious about this,
I would recommend the version 3 (Pointer)
One final thing which I consider to be
very important, what happens when you
have a problem? Why you write to Chris
Boutal and the answer is on your desk
before you know it. Service is terrific.
But then if you have a programme as
terrific as this, then you would also
expect the service to be terrific — and
it is.
940910
26
QLAMBer UPDATE
by Al Feng
By the time you read this, the latest "variation" of the QLAMBer
program should have been out-and-about for several months.
The good news is that variation 2x001 can automatically identify
the "_doc" extension of a standard Quill/QLWP file, and produce a
more easily read HARDCOPY than before. The HARDCOPY output will
be something like this, but full width, and in the font to which
your printer is set:
vrmlgdf0
&
H
page nnn
followed by your document ... lacking the effects of control co
des; but, having paragraph breaks, and a Form_Feed at the end of
the meaningful text.
This does not replace printing from within Quill/QLWP. It is me
ant to make the program's HARDCOPY function more useful.
Note that there is no word-wrap, per se. Words are split if they
are incomplete before the end of a line, and are finished after
the carriage return.
Program LISTings & _lis/_txt files should be SPooLed within
QLAMBer from a file SAVEd/COPied to RAM1_ (for example).
Adjust DATASPACE Please
If you happen to get an "adjust DATASPACE please" message when
trying to use QLAMBer it probably means that your QL has a GOLD
CARD (or, faster?) with MINERVA 1.97 (or, higher?) and have
implemented a "misbehaving" TURBO TOOLKIT (or, the like -- for
example v3.20) along with pre-emptive TK2_ calls (e.g., SDP_KEY),
and/or using a statement within a long SuperBASIC BOOT. WHEW!
The main culprit is apparently the TURBO TOOLKIT in tandem with
the later MINERVA code(s). I have to find my MINERVA manual/disk
to verify this, but I was told that there is a substitute TURBO
TOOLKIT. A temporary fix is to use an older TURBO TOOLKIT (such
as v2.05), or to simply "EXEC_W flpl_QLAMBer" from the command
prompt.
Sorry for this inconvenience. As many of you may know, the
MINERVA ROM code gets more and more finicky (i.e., less sloppy
forgiving) as the version number gets higher.
HAPPY TRAILS, AND COMPUTING, TO YOU
27
7
NUG OL Public Domain Library
ABAtra_exp Psion’s Abacus file format explained SAVER_LZH Pointer screen saver. Set up as a hotkey
ANSISR_zip |_ Strips ANSI codes, uses TK2 and QLib SPECKE zip __| 4 graphic files of the Spectrum keyboard
BASCON_zip | SB Extension for Linking in QJump |_SPECTATR_aip_| Spectator v1.00 - A Spectrum emulator
L | Configuration Blocks | Unzip30 | v3.0 The Latest One.
| Co&dl_zip C68 4.12 disk 1. ‘C” Main systemdisk | | | Needed For These Files
H The "STANDARD for *C’" | 7 UNZIP9_ exe | Unzip program V 0.96. by Jan
C68d2_ zp | C68 4.12 disk 2.°C* , Extras ete. | Bredenbeek, EXE form (early version)
| C68d3_zip C68 4.12 disk 3.‘C” Master doc disk-C68 VERS_zp Provides info about other QPTR progs.
| CFG zip "Place QPTR config. blocks into ‘C' VIEW _LZH Pointer environment utility
H CHECK _zip |_SB ext. checks for non-numeric INPUT XCHANG_azp Psion’s Xchange v3.90 now PD (Quill,
| CIRCUIL zip Misc. circuit diagrams and pin-outs I | Archive, Abacus, Easel in one package)
CRITMS BAS _| Critical Mass Game from 88QL World | | XPR210 zip | Latest file transfer protocols for EM v4.0
DISKS _txt File on using Teac 2.88Mb disk drives | [XPRLIB zip XPR library for QEM v3.5, for 3.5 & 3.6
DIEP_zip DeskJet printer utility, prints envelopes 21P22_zip Zip/Unzip version 22 (revised)
DIWDEM_zip Demo copies; DiscCOVER, MULTI- ZIP30_exe Zip v3.0 (the \“ES\” version) (re revised)
DiscOVER, TexTIDY & FLPClone j Zip txt Revised Docs on how to use Zip/Unzip
EMAIL, txt INTERNET, addresses of other QL’ers | | ZIPUTIL_zip Zip Utilities v3.0. Dealing with zip files
FILEIN_ zip Pointer environment utility ZXTRICA_zip | Xtricatorvl.10 ZX-81 emulator |
| FNTRC_zip Source files (SB and Metacomco | Spectrum/QL
H Assembler) FontEditor v.2.3 i
Fimo Zip aL embieD F wal FidoNet Echo Mail : Related Files for the PC/Clone
i |_ messages, 8 merged files so far. | LENV_bin ; Code compatible with QXL and SMSQ
[FONTED ) zip ' FontEditor v.2.3 for the Sinclair QL | | JPP_ap Excellent Spectrum Emulator for 386SX
HDRRST_BAS _| Restores file header of transferred files L : or greater PC
HISTDV zip _| Last line recall history device Make C zip | C68 files MAKE & CPC for the QXL
IBMDSK zip _| Access IBM disks. TK 2 and 3.5 “drives QDIR_zip Looks at QL disk DIRs on a PC
LHQ zip "[LHQ V1.0, File archiver and extractor QUSCR._zip PC program to view screen files, can
MAIL zip Mail list program for ARCHIVE (convert to GIF
minnie_zip File detailing the Minerva ROM 1.93+ QLTOOL ap j Lets a PC look/examine QL disk
MODPSI zip __| Mods for the PSION suite of software QxLfint zip | For the QXL card. Converts a disk to
QLGIF_zip | Code/decode GIF. By Carlos Delhez 1993 - DOS format (same as FORMAT?) |
(QPACER ap | QPac2 8001 Boot Generator v1.1 ZROV201A_zip 17a ot Spenam Emulator V2.01 by
Point_ziy i as QL FidoNet Echo Point ss
Paltcoes ap Coeateg LL DOWNPOPUP mecca | 0V2018, ap LATEX and POSTSCRIPT DOC fles for |
QED zip | QED 1.01 A general purpose editor v2.01 780 Spectrum ,
| QEM zip First? version of QEM For the MAC
QEM040doc_Zi Doc files for QEM v4.0 CP2MC1 zip Converts text/Quill files to the MAC.
QEM24_ zp | QEM v2.4 early version of QEM
QEM35U_rip__| QEM v3.5 upgrade QEM 3.0+ to 3.5
QEM36U rip | QEM v3.6 upgrade fiom v3.5 Donated to Tf ‘S NUG
| QEM40_zip QEM v4.0 latest version of QEM?
| QEMV32_zp | QEM v3.2. Excellent terminal program _, by Paul Ke olmgren
LHD | ing uj IBM
i QED _2e anemone ne a OL. pbs H Files were downloaded from various BBS 's
QLIBRT_ap ; QLiberator runtimes version 3.36 j
QUSPIT_zip ZM-1 Spectrum Emulator & demo |
| QSI_zip | Determines speed, QXL, Gold Card Set of 9 5.25” disks. All for $9.00
| QUADRI zip | Quadratic Equation Plotter Order from:
| Quantal/2_zip eee BBS Messe BOE Tce | John Donaldson
Quilt “exp [ Psion’s QUILL file format explained | 835 Foxwood Cir
(RDS _zip {3 SuperBasic progs rand dot stereograms +
| RELYQL_txt__| Text describing modifications to the QL_| Geneva IL 60134-1631
' RESCUE zip | Floppy Disk Rescue 8, String Search ! 708 232-6147
Ruleta_ap ; Roulette game i
26
810-254-9878
24 hours a day, 300°1200/72400 baud
(a new high speed modem, up to 14400 baud will be online soon)
QBox-USA is a BBS set up by GL enthusiasts For QL enthusiasts.
The sytem runs entirely on a Sinclair QL. We maintain a link (Fidonet>
with European BBS's that carry QL related message areas. With QBox~USA
North American QL users can keep in touch with our Fellow QL users in Europe
and keep up with the latest developments For the QL and QDOS.
We are currently carrying the Following message areas:
INTERNATIONAL QL, MINERVA, QUANTA and QBOX.
There are also File areas that contain many programs available For download.
Just a few of the Files available are: IPI, QFAX, 2Zip/Unzip, QLTerm, QLGIF
and many more! There is no charge to use QBox-USA other than normal phone
call charges. Please give QBox-USA a try!
We look Forward to your call!
—_—
produced using Page Restener 7 |
HESEEREEE ERTS ER ARE ESSE SESH ESE ESET SEER EERE SEE SETS EEEE SRE SESE SES ESE ESEEE
COMPUTER CLASSICS
*#* FOR SALE *#*
COMPUTER CLASSICS
RT 1, BOX 117
CABOOL, MO 65689
IBM XT COMPUTER $200 +shipping
Includes 10 MEG hard drive, 640K
RAM, 360K floppy, serial port and
parallel port, monochrome monitor,
and keyboard.
Repair Service for America’s
Favorite Home Computers
and their accessories
*
*
*
*
*
*
*
*
*
*
*
IBM 286 COMPUTER $350 +shipping *
ADAM ATARI COMMODORE Includes 20 MEG hard drive, 1MB *
RAM, 1.2MB & 1.44MB floppies, *
serial & parallel ports, keyboard, *
*
*
*
*
*
+
*
*
*
*
*
*
and monochrome monitor.
IBM OSBORNE SINCLAIR
TIMEX TI TRS-80
ee ee ey
QUAD DENSITY 5 1/4 in. (720K)
half height floppy drives
$25 each or 10 for $150
BUY - SELL - TRADE - UPGRADE
Write for prices
SASE appreciated IBM HARD DRIVES, CONTROLLERS,
and RGB COLOR MONITORS
Ph. (417) 469 - 4571 Write for prices
*
*
*
*
*
+
=
+
*
*
*
*
*
*
*
s
*
*
*
*
*
*
*
*
'
*
+
SRST T ESET HASSE EKE SES TEST ETH T ESS SAS SESE SESH LESS SSS KE SKESSAH EASA ELE TED
CABLE COLUMN
By Bill Cable
ARCHIVE SERIES
PART 18 : FormEd - A FORM EDITOR AND PRINTER FOR
ARCHIVE DATABASES (2nd and final part)
FormEd as listed last time worked well for displays but the printing
part had not yet been completed This time we will list the complete
program including what was listed last time This has been a rather
involved project but | am pleased with the result. It can nicely display
and print any ARCHIVE Database in many different and useful ways
The user interface is easy to use and different print fonts are
supported (Bold, Condensed, Italic, Underline, Double Wide). Epson
print controls are used. If they don't work for you get out your printer
manual and alter procedure 'set_fonts’ so they do. The procedures
proc closey:!$
close {$
endproc
proc close_all
while 1 close endwhile
endproc
proc formed
rem Written by Bill Cable 6/94 and released to public domain
error form_check. if ermum()formed1 else :formed3 endif
endproc
proc formed1
mode O'setup: error close_all:set_fonts
listed here need to be merged with the group3 procedures finished in
Part 14 of this series. Notice that procedure ‘close_all’ in group3 is
incorrect, The one listed here is correct Correct it in group3
procedures or it will replace the correct one when you merge the
group3 procedures in. Those wishing to skip all the work send me a
disk and retum postage and | will send you a copy of Formed.
Forms can be designed on screen for any ARCHIVE database for
browsing and printing and saved for later use. Its primary purpose
will be for printing out the forms or reports to your printer such as
address labels from an address database or financial summaries
from a financial database. It is slow at least if you don’t have a Gold
Card or better but handy Get into the ARCHIVE editor and start at it
When done merge the group3_prg procedures and save as ‘formed’
To run simply load into ARCHIVE and type - formed<ENTER>. Play
to feam allits features and uses. Itis quite flexible
fet h$="FormEd - A Form Editor, Creater, and Printer for ARCHIVE Databases"
heady;h$: spoolon screen :form_instruct: spooloff
yom,21,"Print these instructions" if ans$="y"
Iprint hS: Iprint tab 55,"Bill Cable 9/94”: Iprint :form_instruct: endif
device;21
if ans$="": error close.
error looky,fdS+fn$+"1","11"
if ermum(): if ermum()<>100:erry:23,"accessing "+fd$+fn$+"1": endif
yom;23,"Create form databases on "+fd$+" now": if ans$
else : error form_create: if ermum() eny:23."making “+fd$+fn$+"1"
formed: retum: endif: endif
fooky:fdS+fn$+"1"."f1" endif
error looky;fd$+fn$+"2","12": if ermum():ery:23,"accessing "+id$+in$+'2"
acky.23,"You must fix":formed: retum endif :formed2
endproc
proc formed2
heady,"FormEd - Choosing a Form”. use "{1": if count()>0
yom;4,"Print list of currently defined forms in "+fd$+" Form File now"
y"form_print1: endif . endif . error closey;"s"
: while len(ans$)<1 or len(ans$)>8.
jame of form [1-8 characters or <ENTER>=quit]"
" error close_all: mode 1: stop : endif endwhile
let form$=ans$: use "f1" locate form$: if form_name$<>form$
yom.8,"Form "+form$+" not defined. Add it now"
if ans$="n":formed2: retum
ifans$:
“Location of form databases (form_fm1,form_fm2) eXit to stop"
il: mode 1: stop : endif : let fd$=ans$: let fn$="form_fm"
“formed: retum
else form_new: close "f1" looky:faS+in$+''1",“f1"" locate forms: endif: endif
let sd$=dbf_loc$: let sn$=dbf_name$: fet ans=1: while ans and sn$<>""
error looky;sd$+sn$,"s" let ans=ermum()
if ermum():erry,10,"Problem accessing "+sd$+sn$
yom; 11,"Change device or name": if ans$="n":formed2. retum : endif
“Database” let sd$=ans$
yor, 20. "Print list of fields of "+sd$+sn$+" used in "+form$+" now"
if ans$="y"form_print2: endif -formed3
encproc
proc formed3
mode 0: let fig=1 form_dispiay
while 1° print at 0,3,upper(form$)," form using “.sd$+sn$
latabase name (with extension)" sn$: let snS=ans$: endif endwhile
print “ with ".count("s’);" selected”; tab 57;
key_choice,23," FORMED MENU "."","Edit Print Browse Select/order eXit',"epbsx"
if ans$="x":yom;23,"Work with another form": if ans$="y":formed2: retum
else : error close_all: mode 1: stop: endif
else : if ans$="e"-form_edit;1,high,1,1,wide,1:form_display
else : ifans$="p"-form_print
else : if ans$="b" form_browse
else : if ans$="s". use “s": mode 1. cls ; print
print "FormEd is halted. Type desired ARCHIVE Select, Order, or Reset Command"
print "Then type : formed<ENTER? to restart” let flg=0:
endif : endif: endif : endif: endif : endwhile
endproc
proc form_browse
local a$,f3,i: while 1: use “s"
key_choice;23," BROWSE ",","Next Back Scan Rec# Find More Print exit","nbsrfmpx"
use “f1": retum : endif : let aS=ans$
if a$="n": next: eise : if a$="b": back
else : ifa$="s".msg;23,"Scan by Browsing through 10 records"
let i= 1: while i<10 and not eof(): next :form_fvshow1;"": use “s”: let i=i+1: endwhile : next
else : if a$="r':inpy;23,"Move to record {0-"+str(count("s")-1,2,0)+"]"
position vai(ans$): else : if a$="f":inpy:23,"Enter text to find": let S$=ans$
msg;23,"finding “+f+"": find
else : if aS="m":msg;23,"more finding "+f$+"": continue
if not found{) acky;23,"More “+f$+" not found": endif
else : if a$="p" form_print
endif : endif . endif : endif: endif : endif : endif :form_fvshow1;™: endwhile
endproc
proc form_check
use “s"
endproc
proc form_color;!,i$
ice,|,""," for “+i$+" color’,"[Black, Red, Green, White]","brgw"
let ans$="Black - 1": else : if ans$="r": let ans$="Red_ - 3"
else : if ans$="g" let ans$="Green - 5"
eise ; let ans$="White - 7". endif : endif : endif
endproc
proc form_create
msg;23,"creating form file 1 : “+fd$+fn$+"1"
create fd$+in$+"1" logical "f1"
form_name$
form_desc$
form_paperS
form_ink$
form_height
form_width
form_line
form_text$
form_font$
dbf_locs
dbf_name$
dbf_desc$
endcreate
order form_name$;a,form_line;a: close fi"
msg;23,"creating form file 2 : "+fd$+fn$+"2"
create fd$+fn$+"2" logical “f2"
field_form$
field_line
field_column
field_name$
field_number
field_start
field_width
field_formatS
field_join
field_joinS
endcreate
order field_form$;a, field_line;a,fietd_column;a: close "{2"
endproc
Proc form_display
use "fi": locate form$: let wide=form_width: let high=form_height
let tos=int((21-high)/2): let cos=int((79-wide)/2)
let fp=val(form_paper$(9)): let fi=val(form_ink$(9))
if fp=1: let dp=3: let di=7: else : let dp=1: let di=7: endif
paper dp: ink di: cls : fet k=form_width
let i=1: while ishigh+1: locate form$,i
print at i+los,1+co8; paper fp; ink fiform_textS,
let iti+ 4: endwhile -form_fvshow1,""
endproc
proc form_edit;si,n!,al,sc,nc,ac
local IIc i$,ij,«i3.
close “f1": open fd$+fn$+"1" logical "{1" locate form$.1
close "f2"; open fd$+fn$+"2" logical "{2": locate form$,1,1: use “f1"
if sl>22: let sl=22: endif: if nl>22-sl: let nt=22-s!: endif
if sc>79: let sc=79: endif : ifnc>79-sc: let nc=79-sc: endif
let n=si+nI-1: if al<s! or al>ni: let al=s!; endif
let nc=sctnc-1: if ac<sc or ac>ne: let ac=sc: endif
let li=al+los: let lc=act+cos
while 1: use “f1": locate form$,al
print at 23,1;"EDIT FORM - Move and type text, <CTRL>1 Field, <CTRL>2 Font, <CTRL>0 Exit",
print tab 80; at 0,68;"[".al:",",ac,"] (":form_font$(ac to ac):")"; tab 79,
print paper fp; ink fi, at al+los,actcos,chr(14);
let iS=getkey(): let =cade(i$)
if i=144: close "f1": close "f2":looky;fd$+fn$+"1","f1"
looky:fd$+fn$+"2","{2": use "f1": retum : endif
if i<>145 and i<>146
if =10 or i= 11: let j=3: else : if =12 or =13: let j=10
else : let j=1: endif: endif
if i=2 or i=10: let al=al-: if al<si: let alent: endif
alse : if i=3 or i=11: let I+j: if al>nl: tet al=si: endif
else: if =4 or i=12: let c+: if ac>nc: let ac=se: endif
else ‘5 or i= 13: let ac=ac-: if ac<sc: let ac=nc: endif
endif: endif : endif: endif
if >31 and i<127: print paper fp, ink fi, at altlos,ac+cos;i$,
locate form$,al: let [$="*"+form_text5+"*"
let [$=]$(1 to ac)+i$+j$(ac+2 to len($))
let form_text$=j$(2 to ten(j$)-1): update
let ac=act1: if ac>nc: let ac=sc: endif: endif
if Il<>al or Ic<>ac: let ll=al: let Ic=ac: endif
else : if =146
key_choice:23," SET FONT".."Normal Bold Itallic Underline Wide Condensed”,"nbiuwc"
let jS=upper(ans$):defy.23,"Font Width [1 to "+str(nc-ac+1 ,2,0)+']'str(nc-ac+1,2,0)
let ans=val(ans$): if ans<1 or ans>nc-ac+1: let ans=1: endif
let i$=form_font$: if ac>1: let k$=i$(1 to ac-1): else ; let kS="": endif
let form_font$=k$+rept($,ans)
let i=len(form_fontS)
if i<len(i$): let form_font$=form_font$+i$(i+1 to nc)
endif : update : else
key_choice;23,”" FIELD EDIT",""","Add Remove Show List eXit","arsix"
if sn$<>"" and ans$<>"x": if ans! ":form_fadd,al,ac,ne
else : if ans$="r": use "f2": locate form$,al,ac
if field_form$=form$ and field_line=al and field_column=:
yorn:23,"Remove "+field_name$+" from specifed posi if ans$="y"
print at al+los,actcos; paper fp, ink firept(" " field_width);: delete : endif
else ‘acky;23,"No field value starts at current cursor position”. endif
else : if ans$="I":yorn;23,"Listout fields on form to printer now"
if ans$="y".form_print3: endif
else :form_fvshow1 ;chr(5):acky:23,"Showing field widths by underline"
endif: endif: endif: endif: endif _ endif : endwhile
endproc
proc form_fadd;al,ac,nc
use "f2": let fleld_form$=form$:form_fpick
let field_name$=fieldn(field_number,"s")
let field_line=al: let field_column=ac
defy;23,"Start at field charcter’,"1". let ans=val(ans$)
if ans<1 or ans>255: let ans=1. endif: let field_start=ans
defy,23,"Field width" str(nc-ac+ 12,0): let ans=val(ans$)
if ans<1 or ans>nc-ac+1: let ans=nc-ac: endif: let field_width=ans
if fieldt(field_number,"s")
key_choice,23,"","Field format’,"Normal Upper Lower’,"nul”
else key_choice,23,","Field format’,"General Decimal(2) Integer',“gdi"
endif. let fieid_format$=upper(ans$)
yom:23 "Wil this field be joined with a field following it’
i let field_join=1
inpy.23,"Joining symbol(s) (ie.'' or’,’ or '/’,<ENTER> = none)"
fet field_join$=ans$. else : let field_join=0: let field_join$="": endif
yom,23,"Add "+field_name$+” now”: if ans$="y": append
if field_join print at 22,1;"Joins “:field_name$; tab 79,
form_fadd,al.ac,nc: return : endif
locate formS,al,ac:form_fvshow2;":form_fvshow3;"": endif ‘liny;22: use ‘f1"
endproc
proc form_fpick
while 1 inpy,23,"Field of interest [0-"+str(numfid("s")-1,2,0)+"]"
let ans=val(ans$): if ans<0 or ans>numfid("s")-1: let ans=0: endif
let field_number=ans:yom:23 fieldn(ans,"s")
if ans$="y" retum : endif : endwhile
endproc
proc form_fvshow4 ;u$
print at 0,57,"at Rec# ";recnum("s"), tab 79;
use “f2 locate form$: while not eof{) and field_form$=form$.
form_fvshow2,"":form_fvshow3,u$: next: endwhile : use “f1"
endproc
proc form_fyshow2;!$
focal i,j,k,!,c,|s,fs,fw: let =field_line: let c=field_column
let ans=field_number. if fieldt(ans,"s")
let ans$=fieldv(ans,"s"): if field_format$="U": let ans$=upper(ans$)
else : if field_formats: let ans$=lower({ans$): endif : endif
else : if field_format$="G": let ans$=str(fieldv(ans,"s"),4,0)
else: if field_format$="D": let ans$=str(fieldvians,"s”),0,2)
else ; let ans$=str(fieldv(ans,"s’),2,0): endif : endif : endif
let Is=len(ans$): let fs=field_start: let fw=field_widtn
if fs>1: if Is<fs: let ans$="": else : let ans$=ans$(fs to Is): endif : endif
if len(ans$)>fw: let ans$=ans$(1 to fw): endif : let ans$=I$+ans$
if field_join let ans$=ans$+field_join$. next
if =field_line and c=field_column and not eof():form_fvshow2;ans$: retum
else back endif: endif
if len(ans$)>wide: let ans$=ans$(1 to wide): endif
endproc
proc form_fvshow3;u$.
local I,c,w,s: let l=field_line: let c=field_column: let w=field_width
if len(ans$)>w. let ans$=ans$(1 to w): endif
print at I+los,c+cos; paper fp; ink fi;u$;ans$, tab cos+w+c;u$
endproc
proc form_instruct
Iprint" 1. This program allows you to create forms that incorporate your own"
Iprint” databases. Good for printing them in a structured way or as labels."
Iprint " 2. Two databases (form_fm1 & fotm_fm2) hold form information. If they”
iprint" don't exist already the will be created. Please back them up.”
Iprint" 3. The database you use on a form will be accessed for read only. Using"
iprint” the form display you can browse or print it as selected/ordered.”
Iprint “ 4, Each form has an identifying name (1-8 characters) and is saved for"
Iprint" later access. The form is Edited on screen by typing text at the”
Iprint" cusor position with curosr coordinates shown in [] in upper right."
Iprint "5. <CTRL>1 when editing allows Adding and Removing Fields at cursor."
Iprint “ 6. <CTRL>2 when editing to define Print Fonts for areas on form. Upper"
Iprint" night of screen show Font at cursor. Normal, Bold, Itallic, Underline"
Iprint" Wide,and Condensed possible. For non Epson change procedure set_fonts.”
Iprint" 7. To do the ordering and selecting of your database the program is"
iprint" halted so you can type in the Select, Order, or Reset command at"
Iprint" the ARCHIVE prompt >’ and then restarted by : formed<ENTER>."
endproc
proc form_new
close "f1". error openy;fd$+fn$+"1",'f1"
Jet form_in let form_text$="": let form_font$:
while 1:heady;"Adding New form : "+form$: let form_name$=form$
print at 3.1,"Form information"
inpy.5,"Form description”: let form_desc$=ans$
form_color,6,"Form paper’ let form_paper$=ans$
print at 6,0," Form paper color : ";ans$; tab 80;: let form_ink$=ans$
while form_paper$=form_ink$:form_color;7,"Form ink"
let form_ink$=ans$: endwhile
print at 7,0;" Form ink color ins$; tab 60;
defy;8,"Form width (10-78)","78": let ans=val(ans$)
if ans<10: let ans=10: endif: if ans>78: let ans=78: endif
let form_width=ans: print at 8,0:" Form width : “ans; tab 80
defy,9,"Form height (1-20)","20" let ans=val(ans$)
if ans<1. let ans=1: endif : if ans>20: let ans=20: endif
let form_height=ans: print at 9,0," Form Height: “.ans, tab 80.
ise information from a database on this form"
y": print at 12,1;"Database information”; tab 80;
device; 14,"Location of database to be used in form"
let dbf_loc$=ans$: print at 14,0;" Database location
inpy;15,"Name of database to be used in form"
*"): let ans$=ans$+"_dbf” endif
let dbf_name$=ans$: print at 15,1;"Database name : ",ans$; tab 80;
inpy:16,"Description of database": let dbf_desc$=ans$: endif
yorn;23,"Add form now" if ans$="y": append
i=1: let j=form_height
"Jet form_paper$="" let form_ink$=""
let dbf_loc$="". let dbf_name$: f_<
while i<=j: let form_line=i: let form_text$=rept(" "form_width)
let form_font$=rept("N" form_width)
append : let i=i+1: endwhile : retum ; endif
yom;23,"Still want to add a "+form$+" form’. if ans$="n": retum : endif
cls : endwhile
endproc
proc form_print
local i$ j$,h1$,h2$, br.eripp,fpp,norm$,bar$,bp.tp, atline,formct,pg$,nl: use "s”
let bp=recnum(): let norm$=rept("N" wide): let bar$=rept(’-", wide): let ni=high: let ffp=0
let i$=str(count()-1 2,0): let j$=str(recnum(),2,0)iny;23
defy;22,"Begin print at record [0-"+i$+"]" jS: let br=val(ans$)
if br<0: let br=0: endif : if br>count()-1: let b=count(}-1: endif
if br>recnum(): let j$=str(br,2,0): endif
defy;23,"End print at record ["+str(br,2,0)+"-"+i$+'}" J: tet er=val(ans$)
if er<br: let ebr. endif : if er>count()-1: let er=count()-1: endif
let pg$="n": let h1$="": let h25="": let lpp=0
if br<>erliny;23:yorn;22,"Print heading for the "+str(er-br+1,2,0)+" records”: if ans$="y"
print at 23,1;"=> ";: input h1$:liny;23: print at 23,1;"=> ";: input h2$: endif
if hi$<>"" let tp=2: if h2$<>"": let tp=4: endif : endif
liny;23:yom;23,"Fit forms on a page": let pgS=anss: if pgS="y"
defy:23,"Lines per page ['+st(nl,2,0)+"-200","66": let Ipp=val(ans$)
if Ipp<ni: let Ipp=ni: endif : if lpp>200: Jet Ipp=200: endif
let fpp=int((ipp-tp)/nl)
if fpp>1:defy:23,"Form per page [1-"+str(fpp,2,0)+'T"str(fpp,2,0)
let fpp=int(val(ans$)): if fpp<1 or fpp>(Ipp-tp)M!: let fpp=int((Ipp-tp)/nl): endif
endif : endif : endif
if er<>br and tpp
‘Page length = "+str(lpp,2,0)+" , Heading = "+str(tp,2,0)+", Forms per page = "+str(fpp.2,0)
S retum : endif : endif
use "f1": locate form$: next
fet atline=tp+1: let formct=1
rinting”: let in=len(form_textS): let blk$=rept(’ ",In)
Iprint h1: if tp=4: Iprint : tprint h2$: endif : Iprint bar$: endif
use "s": position br: while recnum("s")<=er and not eof("s’)
use "f1": locate form$: next : while not eof() and form_name$=form$
let |$=form_text$: let f$=form_font$: let =form_line: use 12": locate form$,|
let ans$=": while not eof() and field_form$=form$ and field_line=I
let fl=field_line: let fe=field_column
if fc>len(ans$)+1: let an: ins$+$(len(ans$}+1 to fc-1): endif
form_fvshow2,ans$: next : endwhile
if len(ans$)<len(I$): let ans$=ans$+l$(len(ans$)+1 to len(i$)): endif
2: let sf$="": let ef$="": let HS=f1 .form_font$(1)
"let sfS=bolds$: let ef$=boldes
let sf$=conds$: let ef$=conde$
is$: let efS=italeS
unders$: let ef$=undereS
"W" let sfS=wides$: let ef$=wideeS
ins$, tab 80;
endif : endif: endif _ endif : endif
: while i<=In.
i=1 and (ans$=bik$ or {1 form_font$=norm$). let i=len(ans$)
else «if f$<>f1 form_fontS(i): let iS=f1 form_font$(i)
3 =" et S="N"
let nsf$=bolds$: let nef$=bolde$: tet If$="B"
"C" let nsf$=conds$ let nef$=conde$: let f$="C"
let nsf$=itals$ let nef$=itale$. let fS="I"
undersS. let nef$=undereS. let f$
else . if $="W" let nsiS=wides$ tet nef$=widee$. let IfS=
endif. endif: endif endif endif
Iprint sf$+ans$(\p-1 to i-1).efS,. let sfS=nsfS. let efS=nefS: let Ip=i+1
endif : endif: let =i+1: endwhile
if Ip<=in: Iprint sf$;ans$(ip-1 to In); endif: Iprint ef: let efS="": let IfS:
use "f1": next : endwhile : use "s" next. let atline=atine+high
if pg$="y’: if formct>=fpp: let i=atline: while i<=Ipp: Iprint : let =i 1. endwhile
if tp and recnum()<=er and not eof()
(print h1$: if tp=4: Iprint : print h2$: endif : Iprint bar$: endif: let formct=1. let atline=tp+1
else : let formct=formct+1: endif : endif
endwhile : use "s": position bp: use “f1"
endproc
proc form_print1
msg;23,"Printing listing of defined forms"
Iprint : Iprint "FORMS DEFINED IN FILES form_fm1 AND form_fm2 ON “fd$
Iprint tab 60;date(2)
Iprint : Iprint : search form_line=0
while found(): Iprint "Form name : ",upper(form_name$)
Iprint " Description : ";form_desc$
Iprint" Form paper m_papers; tab 30,"Form ink : ";form_ink$
iprint" Form length : “.form_height; tab 30;"Form Height :".form_width
if dbf_name$<>"" Iprint" User database : "dbf_loc$;dbf_name$
Iprint” Database desc : ",dbf_desc$: endif
Iprint : iprint ; continue : endwhile ‘liny,23.
endproc
proc form_print2
msg;23,"Printing listing of "+sd$+sn$+" field names"
Iprint : Iprint "FIELDS OF DATABASE ";sd$;sn$;" USEABLE IN FORM “.upper(form$)
Iprint tab 60;date(2)
Iprint : let =O
while i<numfid(): Iprint i; tab 5:fieldn(i,"s"): let =i#1: endwhile sliny,23
endproc
proc form_print3
msg;23,"Printing fields on form "+form$.
Iprint : Iprint "FIELDS OF "+sn$+" DEFINED ON FORM - “tupper(form$)
Iprint tab 60;date(2)
Iprint : print : use “f2": locate form.
Iprint "Line/Column Name Start Width Format Join Symbol"
while field_form$=form$ and not eof(): Iprint
Iprint "[':fieid_line;",":field_cotumn;'}";
Iprint tab 15;field_name$; tab 30;field_start; tab 40;field_width;
Iprint tab 50;field_formats; tab 58;field_join; tab 64;"";field_join$;""
Iprint : next : endwhile ‘liny;23
endproc
proc openy;d$,!$
msg;:23,"open access of “+d$: open d$ logical I$
endproc
proc set_fonts
let pe$=chr(0)+chr(27)
let bolds$=pc$+chr(69): let bolde$=pc$+chr(70)
let conds$=chr(0)+chr(15): let conde$=chr{0}+chr(18)
let itals$=pc$+chr(52): let itale$=pc$+chr(53)
fet unders$=pc$+chr(45)+chr(0)+chr( 1): let undere$=pc$+chn45)+chr(0)+chr(0)
let wides$=pce$+chr(87)+chr{0)+chr( 1): let widee$=pe$+chr(87)+chr(0)+chr(0)
endproc
Next time some new project | haven't yet thought of. Any suggestions? Until then Happy Archiving!
35
PERTINENT POINTS ON QL DISK DRIVES
by Frank W. Davis
| have recently ran across some items that | thought it best to
pass on to the rest of you. | realize that many of you know some,
or perhaps all of this, but it is always good to bring everyone else
up to the same speed whenever possible.
The first came about from the inquiry of two separate people.
The question was "Can | use HD (1.44 meg or 2880 sectors) disk
drives with my QL that is using a Trump Card?" The answer to
this question is a qualified one. Normally the answer would be no.
The QL and the Trump Card would not even recognize that it
existed. The lone exception to this would be if you had equipped
this QL with the Level Two Driver. It would then recognize that the
drive was there, and format and use it as a 720K drive (1440
sectors). It would still not see it as a 1.44 meg disk drive; the
Trump Card does not have the needed hardware to do this. If you
still want to use a 1.44 meg disk drive with either a Trump Card or
a QL Sandy Board, then you need to obtain the FLP/LEVEL 2 RAM
CHIP from either Jochen Merz or from Mechanical Affinity. This
will allow you to use these drives as well as making the QL
Read/Write and format IBM and Atari disks, and a few other
goodies.
The next question was, "Can | use an IBM compatible 1.2 meg
5 1/4 drive with my QL?" The answer to this would normally have
been a definite no. If you check with the magazine IQLR, they ran
an article on how to set up one of these so that it could be read
by the QL as a 720K (1440 sector) drive, but it could still not be
used as a 1.2 meg drive. None of the QL disk drive interfaces
supports the 1.2 meg drive in its native mode. | wish that they did,
particularly when it comes to IBM software that comes in that
format. | could then use it with PC Conqueror or Solution.
The third question | get from many folks concerns, " Just what
ED (extended density 3.2 meg) drives can | use with my Gold
Card or Super Gold Card, and how do | set the switches or pins
on them?" The next page will detail what is needed to set up
TEAC, SONY and MITSUBISHI ED drives. Do not attempt this with
CHINON ED drives. So far CHINON does not work with the QL.
If you find a drive that works that I left out, let me hear from you.
The more we help each other the more we gain.
36
I wish to thank the following for the information contained here. Stewart
Honeyball of Miracle Systems, Paul Holmgren of Mechanical Affinity, John
Toapelliiceys and Don Walterman of the Detroit area, and Bob Dy! of IQLR.
Thanks for the information.
SONY ED DRIVE -- MP-F40W-23 and MFD-40W-21 are the two model
numbers that have been shown to work with the Gold Card and the Super Gold
Card. The only setting available on these drives is the drive number, a recessed
switch at the rear side of the disk drive, as shown in this illustration.
Recdssed Switch
o12ad
MITSUBISHI ED DISK DRIVE--It has the drive numbers 0 to 3 on one side
towards the rear, and has the jumpers that must be set as in the diagram on the
other side near the rear of the disk drive.
drive number
mL sw I/s
TEAC ED DISK DRIVES--Set the drive jumpers as indicated in the
illustration, and the drive numbers on the side, for the FD235] 3631 and the
FD235] 3653.
TEAC FD235J 3631 TEAC FD235J 3653
MODIFIED MODIFIED
SIGNAL
LEVEL
XTRICATOR, Version 1.75
by Gary Norton
XTRICATOR, by Dr. Carlo Delhez, is a Z2X-81 (T/S 1000) emulator for the QL,
offering 64 KB of RAM. XTRICATOR runs in the Pointer Environment, is
SerMouse compatible, and is multi-tasking.
XTRICATOR is a shareware program, available free for testing. As with all
shareware software, if it is to be regularly used, you need to register with
the author. The registration fee is 60 Dutch Guilders or 40 US $. With the
registration, you receive a twenty-five page manual, three disks of ZX-81
software containing 240 programe (original as well as commercial), a free
update to the next version of the emulator, and information about later
releases.
To run XTRICATOR, you will need a QL or clone, 300 KB of free RAM, Toolkit
II (optional, but recommended), and the Pointer Interface Environment file
PTR_GEN (not included with the program due to copyright). Though not
required, I highly recommend that the Gold Card or Super Gold Card be used,
When run on a standard QL, the program runs painfully slow, but will run.
Expect a speed of about a third of a ZX-81 in SLOW mode. Whereas with the
Super Gold Card, it runs at over twice the speed of the original 2X-81.
XTRICATOR runs in all resolution modes of QXL, but it does not yet run on
machines running SMS2, but that is being worked.
If you're using a QL, then why would you want to emulate the 2X-81? Many of
us began our home computing with the ZX-80/1 and discovered the fascinating
world of computing. 7ZX-81 owners discovered much about computers and
programming by trying to get every ounce of power from the computer. We
all went through the frustrating times of the system crashing when we were
about to save a program we just spent two hours typing. But it kept us
interested in computing, and most have fond memories of this little machine.
When the T/S 2068 or the QL came along, many of us moved on, packing the
ZX-81 into a box in the closet. Others remained faithful to the ZxX-81 - I
have mine set up next to my two QLs.
If you had a ZX-81 that didn't crash, had internal 64 KB RAM (no memory pack
wobble), had a (quasi) real keyboard instead of a flat membrane, and had
fast disk drives, would you have been as eager to replace your computer when
a new model was released? You get all this, and fast speed as well with the
Gold Card or Super Gold Card. Later, I'll touch on several
additions/enhancements added that will bring the 2X-81 to another level.
The program disk contains a file ‘XTricator_Xample_Boot'. Edit this to your
boot-up requirements. When XTRICATOR is being executed, you have the option
of automatically setting the parameters you wish. The parameters allowed at
start-up are: /I gives a black screen and white print; /R selects the
initial contents in the 8-16K area, Clear, ZX-Assembler-2, or Coral Basic;
/S selects initial size of the RAM memory, and /W selects a half wide screen
display.
When loaded, XIRICATOR loads a white screen with the familiar ‘K* cursor
No more fuzzy BW television images for the ZX-81! If you would prefer a
black screen with white print, simply press CTRL & F2 (or F12 for those with
38
a Falkenberg QL-Keyboard-90). To revert back to black on white, press CTRL
& F2 again (or F12).
With a few exceptions, when running XTRICATOR, use it as you would the
ZX-B1. You'll recognize the one press Keywords. Press 'R' for RUN, for
example, To load a program, press 'J' for LOAD then either SHIFT P, as in
the ZX-81 or the Quote key next to the Enter key for the Quotation mark,
then the program's name, then another quote: “LOAD “PROGRAM"’. Do not press
"LOAD " Instead of loading the first program that is contained on disk,
as the ZX%-81 does with its tape loading, this command gives the directory of
the disk in the default drive. The same rules apply for keyboard operation
as with the ZX-81, This includes the Function and Graphics modes also. If
you have problems remembering the location of the keys or what function is
located on which key, press CTRL & Fi or Fil to view a digitized image of
the Z2X-81 keyboard. This can also be selected by the ‘H* option of the main
menu. Press ESC or press the left button on the mouse to return to the
gereen, There are two key emulator modes, using CAPS LOCK or not. These
simply give different characters with certain keypresses, basically either
the ZX-81 layout or the QL layout
The feature that really sets XTRICATOR apart from the original ZX-81 is the
Main Menu. This {is selected by pressing Fi. The menu consists of twelve
selections. To make a selection, point and click with your mouse or press
the letter given and then enter. This article is not intended to make it
unnecessary to register and receive the manual, so I will only highlight the
menu options. The primary options allow for changing defaults such as
LPRINT output (to SER1 or to a file) and default directory. Make
screendumps that can be loaded from SuperBasic or from ZX81 mode. Reset the
ZX81. Unlike on a ZX81i, you don't have to disconnect the power supply to
reset. Load ZX-Assembler-2 (ZXA2) or Coral Basic Interpreter (CBI) [more on
these later] into the 8-16K area of ROM. Change screen settings such as
color (black or white), the refresh rate, set the emulator speed, and select
between full size or half size screen width. For QXL users, move the ZX61
window to wherever you'd like on the screen.
XTRICATOR supports several different resolution modes. These are the Low
Resolution or normal mode, with a 32x24 screen; Extended Low Resolution,
with a 32x192 screen; Semi High Resolution with 256x192 graphics; and True
High Resolution with 256x256. The command to move between hi-res and
low-res is supposedly CTRL-F3, however, with my copy of XTRICATOR, I was
unable to load a hi-res program. I kept getting the message "RAMTOP NOT
LOWERED". This in spite of pressing CTRL-F3. Unfortunately, the manual
does not mention this or what to do about this situation.
As mentioned earlier, additions and enhancements were provided to bring the
ZX81 to another level. Starting with the Special Commands. In Version 1.75
of XTRACATOR, there are fourteen of these commands. They are loaded like a
file, but the command name is preceeded with an * and ended with a :. Since
the ZX&1 operating system does not have a Disk Operating System, the Special
Commands, add the necessary commands to operate from disk, They allow a
disk directory to be shown as well as movement through the directory.
Subdirectories are allowed to be created, removed, and made the default.
Files can be deleted, the default drive can be set, and Jobs can be killed.
Also, special files can be saved and loaded.
SIMDOS2 is a RAMDISK driver file that adds a few other commands and gives a
simplified command structure, such as LB:<filename>: which loads a BASIC
program, No manual is provided, but in the ProgInfo_txt file, there is
sufficent information to use this driver.
What truely sets XTRICATOR above the ZX81 (and many other computers as well)
is the supplied Coral Basic Interpreter (CBI), written by Carlo Delhez,.
When running in CBI mode, the first things you notice are the K cursor turns
into a solid black (or white) cursor and the command words have to be fully
typed in. CBI comes with a 16 page TXT file manual on disk. To quote from
the manual, "It combines the efficiency of a new and fast Pseudo Screen
Editor with the ease of a powerful extension of the ZX81 BASIC." Regular
ZX81 programs will run in the CBI mode. Since CBI warrants an article of
{ts own, I'll just say, give it a try, you may never go back to the 2X81
BASIC,
To those who register, on Library Disk 1 there ts another ZX81 BASIC
extender, EXTENDED BASIC, by Frits Beniest. This BASIC extender allows you
to add READ and DATA statements, adds the RESTORE command, as well as LEFTS,
MIDS, RIGHTS, Multiple statements may be on the same line. Graphics are
brought up to the TS-2068/Spectrum level with DRAW, UNDRAW, CIRCLE,
UNCIRCLE, FILL, PAPER, UNPAPER, A few other commands are also provided as
well as existing ZX8i commands enhanced. There's also a nifty demo program
that lets you see things you never thought you'd see on a ZX81. EXTENDED
BASIC gives the ability to easily translate programs written for other
BASICS. It nicely adds features not included on the original BASIC, and
gives another alternative to CBI, but unfortunately a TXT file manual is not
included. With either CBI or EXTENDED BASIC, you'll never want to go back
to basic ZX81 BASIC!
Another included file is ZX-Assembler-2, revised by Carlo Delhez. The
ProgiInfo_txt file gives sufficient information to get the Assembler loaded,
but a TXT manual is not provided. One is, however, available upon request.
I don't have the manual and am not familiar enough with this program to
comment.
One oddity I discovered was when the LPRINT output channel was selected, the
mouse stopped functioning. When this was cleared the mouse became
operational again. In the next version of XTRICAATOR I would like to see
this corrected.
I'm greatly impressed with XTRICATOR. Its a superb piece of programming
with a great deal of effort put into it. The price is right, free, but I
would strongly recommend paying the small amount asked for to register your
copy. With the library disks provided, there is enough programming to keep
you occupied for some time. If you have some favorite ZX81 programs you
would like to transfer from tape to disk to run on XTRICATOR, Dr. Delihez can
provide QZ Fileserver to do the job. There is a disk provided to run on the
QL and a tape to run on the ZX81. To do the transfer, you'll need a serial
interface, A schematic can also be provided by Dr. Delhez that shouldn't be
too difficult for someone to construct if they're knowledgeable in this sort
of thing. Unfortunately I'm not, so have been unable to give this a go, but
if I can overcome my handicap in this area, I plan on transferring several
tapes and will report on the operation of the fileserver.
40
A REVIEW OF QLerk by Eliad P. Wannum
A Financial Program for the QL
‘There have been several finance programs brought out for the QL since the year 1983, but none
that I have felt was good enough to use Sor the middle-class home or for the small business (earning
less than $500,000 per year). I felt that way until Frank Davis gave me a review copy of QLerk to
look at and try asa means of keeping track of my financial records of my counseling business. I have
noticed that even Frank has gone to using it for Mechanical Affinity, and for UPDATE! Magazine.
He had been using either an old TS2068 program or one from his Amiga. He had always said that
the programs for ‘A nancial management on the TS2068 and Spectrum were as good as those for the
QL, and easter to use. He has now, as well as |, changed his mind. This little story of using this
program was done off of Version 3.21, which was released on September 14, 1994.
This program requires you to use either Psion XCHANGE (now in public domain) or
ARCHIVE, 2.38 (supplied with the program). Bill Cable, author of the program, says that his
preference is using ARCHIVE, as it does not have the same memory limitations as when startin
XCHANGE. | tried using XCHANGE and bad no problems, but | used only a relatively smai
database at that time, so perhaps this problem would have shown up later. You should have at least
2. 720K disk drives and a Trump Card to make adequate use of this program. The program really
comes into its own when used with a QXL Card, Gold Card, or a sper Gold Card. A hard drive
and ED disk drives make the program even that much more useful. For reasons of money, these
devices make sense, the less time a business spends at the screen, the more time is spent on the
business, and not on the financial house keeping chores of mailing lists and billing.
ve what can you do with this program? Well, you can at the same time keep track of upto 5
check writing accounts from a bank, and Bill says that there is no limit to how many charge
accounts you can keep track of. | only have 7 credit cards and found it quite easy to use the program
to track these and my two checking and one savings account. | know at all times who is in my
database of clients and have at a glance information on billing them for services. When I want to
doa mailing to clients, suppliers and lors I do business ith: the print facilities allow me to do
this ina generally business accepted manner. It works great with my HP Deskjet printer. I have not
tried it with my Canon Bubbleet yet, as it is off for repair.
The statements I have generated with this program and given to my accountant have
wipeeet her, as she swore they bad to have come from an expensive MAC or IBM program. 1 had
to have her over to the office to see just what control | actually bad over records and the ease with
which it was done. I just may get a QL put to use in her office yet! She tells me I should , at tax time
be able to give her all the records | peed to prepare both my ‘onal and business taxes. She gave me
only one barrier to stand in the way of doing this. THE ONLY THING THAT CAN GO
WRONG IN THIS AREA IS FOR THE USER TO FAIL TO KEEP UP WITH ENTERING
THE DATA, It is just like vitamins or medicine, it does you little good to have them, if you do not
use them when you should.
The program needs to be configured for your system when you get it. The well supplied manual
tells you what to do tn order to set up the program for your paride uses. You can always amend
your set up or add items, such as new names or addresses (as well as changes), on the fly. T have had
two manuals for this program, the first was 8 1/2 by 11 inches in size, the next was 6 1/4 by 8 1/4
inches. While the print 1s clear and of a readable font in the new version, some of the print was
rather small and may be bard on the eyes of some.
One limitation to keep in mind, is that due to this being an ARCHIVE based program you
will have a 2,000 record limitation if it is ordered on two fields. There will come a time that you
may need to keep more than one record, or you can use the QLerk process REMASTER to remove a
iar of old records. This is also still a DATABASE type program, so for those who have never
ad the nerve to approach one of these, you ipiaes it needed on at least a limited basis.
If] was a movie reviewer 1 would give this program a thumbs up. I hope in the next issue of
UPDATE! to tell you more about this useful, USA made program. Check the ad in this issue.
41
REPORT ON THE DAYTON COMPUTERFEST IN AUGUST
by Frank W. Davis, Editor
For the 6th year in a row now, we at Mechanical Affinity, and
for the 5th year for UPDATE! Magazine....found our way to the
Hara Avena in Dayton, Ohio on the last weekend in August. It
always requires far more work to get to the show and set up than it
may appear, what with banners, catalogs, pricing items, etc. So, do
I think it is worth it? Yes.
It is shows like this and the Miracle in Newport show that give
us our best chance to get together with a large crowd of QL, Timex
and Cambridge Z88 users each year. It helps put a face to go with
the voice and letters that we get from so many subscribers and
mail order customers. I have become personal friends with many
of you, and am grateful for having done so. All ve the people I have
met have in some way or another enriched my life. Thanks. More
than once I have ree where some "so-called expert" has talked and
said that computer users were people who got wrapped up in their
machines and lost social skills. I have met only a few people who I
think fall into that category. For most of us, it has been a learning
experience that has caused us to meet and interact with many
people we would otherwise never have met or talked to.
Thanks to Gary Ganger and to all of the support that Dayton
Microcomputer Association gives for the production of this large
scale show that they put on each year and for setting aside part os
for Sinclair dealers. Socially and financially it was rewarding.
Thanks to the ea iii SMUG, Neal and Bill for being there each
year with your tables next to ours. Thanks to Don Lambert and
Bob Swoger for having your table on the other side of us for
TSNUG. And thanks for the last two years to Tim Swenson for
putting on such a great picnic Saturday evening, giving all of us
time to meet and socialize away from the show.
Shows like these are fun, and a chance to buy from a large
selection at bargain prices. It brings out the "old Hoosier horse
trader" in me. I hope to see you there next year.
42
PAA AAR ARPAAPAAAA AAA PAPA PAA AHAAA Av: AAAHAARPD AH AAA AAAGHFAPAPHAHAFHANGAANYH
PRESENTING @QLerk
A FINANCIAL PROGRAM FOR THE SINCLAIR QL
By
Wood and Wind Computing : Bill Cable : RR3 Box 92 : Cornish NH 03745
Phone : (603) 675-2218
For the first time you have the capability of keeping complete and accurate financial records for
the Home or Small Business with your QL. A friendly Financial Clerk to serve you. The code is
written in the ARCHIVE Programming Language and is completely accessible to the user. All
functions are selectable from standardized menus. No knowledge of ARCHIVE is required. The
program works from a common sense point of view without imposing accounting theory on the
user. Although it has many powerful features the user can use only those features desired,
ignoring the rest. Recommended minimum system is a Trump Card with 2 DD Drives. It works
much faster on Gold Cards and Super Goid Cards. Latest Version is 3.21
Pays Bills Receives Income Reconciles Bank Accounts
Makes Invoices Makes Purchase Orders Prints Checks
Prints Address Labels Handles Sales Taxes Handles Income Taxes
Does Payroll Keeps Inventory Handles Periodic Payment
Periodic (Cyclic) Payments Periodic (Cyclic) income Maintains Savings Accounts
Maintains Cash Accounts Maintains Charge Accounts On-line Help
Elaborate Data Protection Easy Built-in Data Backups Easy Data Correction
Category Report (why,when) Activity Report (who, when) and much more
PRICING
Public Domain Demonstration Version of QLerk $5.00 US/Canada
(refundable if QLerk latter ordered) $7.00 Elsewhere
QLerk Program on Disk with Tutorial Doc File $29.00 US/Canada
$31.00 Elsewhere
QLerk Manual (150 pages of details) $29.00 US/Canada
$34.00 Elsewhere
QLerk Program with Tutorial and QLerk Manual $50.00 US/Canada
$57.00 Elsewhere
The Demonstration version will allow you to play with most of QLerk’s features so you can decide
if you really want the program. Some features are absent and the code is not inspectable. The
program with Tutorial is the complete program with inspectable code and enough instructions to
try out the basic features of QLerk. It is sufficient for users with simple needs. The QLerk Manual
is indexed and covers ali features in detail for those with more complex needs or with an interest
to know all the details. Order it today increase the usefulness of your QL dramatically.
SESESFSSSSSSSISSSSSISHSSSSSSSSSSISSSSIFSISSSSSSSSSSSSS$SSSSSHSSSSH$SSFSHSHFSHIFHSHS:
SSSDRSSSSESSHODSSE SASH DEE SNTSSS SeDTR POOP NUON Tee a rsoEnE Nye rRE Onn
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
$
Z—-88 FLO-—-CHART (C) 1989 MIKE FINK
ACTIVATE
PANEL FiLe
Z-88
PANEL PRINTER ED'R —p4
COMPUTER
ACTIVA T!
COMPUTERS PRINTER
DISK DRIVE
or EPROM
LOAD
SAVE
THEMINAL
LOAD
SAVE
FASS
PIPEDREAM LEAD FILER SEND MODEM
RECEIVE
FAX O2 OTHER
COMPUTERS
RE<eive EXPORT
USE -MOoDIEY
AILe NAMES
USE - Modi’
PRINT ONLY
PRINTER ACTIVATE
CORAPUTERS PUNTER
ANY DATA, TYPED INTO PIPEDREAM, DIARY OR PROGRAMS IN BASIC, WILL
AUTOMATICALLY BE TEMPORARILY SAVED IN SUSPENDED ACTIVITIES, WHEN
GOING FROM ONE APPLICATION TO ANOTHER. TO SAVE A FILE PERMANENTLY,
IT MUST HAVE A NAME AND BE SAVED TO THE FILER. DATA TYPED INTO THE
PANEL CAN BE ACTIVATED IMMEDIATELY, OR SAVED AS A FILE, OR BOTH.
PRINTER EDITOR MODIFICATION MUST BE ACTIVATED TO BE USED, OR CAN
EXIST UNACTIVATED AS FILES TO BE LOADED OR SAVED (OR ACTIVATED).
FILES FROM PIPEDREAM, DIARY AND BASIC CAN BE SENT TO A PRINTER FOR
PRINTING, EVEN IF THEY HAVE NOT BEEN NAMED AND SAVED. FILES FROM
THE FILER TO THE THE DISK DRIVE, CAN ONLY BE SAVED OR LOADED, TO USE
OR EXECUTE THEM, THEY MUST FIRST BE LOADED INTO WHERE THEY CAME
FROM.
44
FOR THOSE PEOPLE THAT DESIRE A PORTABLE COMPUTER, OR NOTEBOOK COMPUTER,
THAT IS LIGHT, INEXPENSIVE .. AND DOES NOT REQUIRE THE USER TO BUY ANY
SOFTWARE, THE Z88 EXISTS FOR THEM. LUCKILY, IN THE UNITED STATES, THERE
IS A COMPANY CALLED DOMINO CUBES, THAT HAS CREATED ADDITIONAL FEATURES
FOR THE Z88, THAT MAKE THE POWER OF THIS COMPUTER MORE FORMIDABLE THAN
IT ALREADY IS, AND ARE NOT AVAILABLE AT ANY OTHER PLACE IN THE WORLD !!
A PARTIAL LIST FOLLOWS;
1. A 960@ BAUD FAX/MODEM, THE ONLY FAX/MODEM IN THE WORLD THAT NEEDS
NO SOFTWARE! IT WEIGHS 7 OUNCES AND IS THE SIZE OF A PACK OF
CIGARETTES.
A BATTERY OPERATED 2 LB. PORTABLE DISK DRIVE.
A BAR-CODE READER.
A 1 LB. "BATTERY PAK" THAT WILL RUN THE Z FOR 3 MONTHS.
REPAIR SERVICE.
UNDERSTANDABLE MANUALS WRITTEN BY MIKE FINK
THE ONLY MAIL MERGE PROGRAM THAT WORKS!
A SHIRT POCKET EPROM ERASER.
TWO TYPES OF EDITING PROGRAMS WHILE IN BASIC.
a.A THIRD TYPE OF EDITING FOR BASIC USING PIPEDREAM.
10. A PRIME NO. PROGRAM UNIQUE TO THE WORLD.
11. A MONEY TABLES PROGRAM OFFERING ANSWERS TO ALL QUESTIONS INVOLVING
TIME, MONEY AND INTEREST.
12. MANUALS EXPLAINING FORMATTING AND PRINTER EDITOR WAYS NOT FOUND IN
ANY OTHER MANUAL OR PUBLICATION.
13. A SPELLING CHECKER, (FROM ENGLAND).
14. THE ABILITY TO MAKE MULTIPLE COPIES AND HOW TO USE MACROS.
a.AN INTERNAL MAGICAL REMOTE CONTROL ROBOT! «!x«!e!
15. A PROCEDURE TO ALLOW LOADING ALL EPROM FILES WITHOUT DANGEROUS CLI
FILES BEING CREATED IN :RAM.~- (WHICH CAUSE FAILURE)
WOAH RON
TO RECEIVE ALL OUR LITERATURE AND A PRICE LIST, SEND $3 IN STAMPS OR
CASH (no checks, please) THE $3 WILL BE RETURNED AT YOUR FIRST ORDER.
MAIL ADDRESS IS: 130 W. 42nd ST. 28th FLOOR, N.Y. CITY 10036
FAXES CAN BE SENT TO 212-869-1526
MIKE FINK PRESIDENT OF DOMINO CUBES
Z88 Rom and Internal
Ram Upgrade
by Dave Bennett
The Z88 Users’ Ciub in England is no
tonger viable. Membership had fallen
to 1000 members from 4000 members. Roy
Woodward decided to discontinue the
Group. He is still providing support
for the Z88 in a business calied
Woodward Technology.
Roy is selling back issues of the
Club Magazine 'Z88 Eprom’. The Club
also sold 288 parts. Roy is selling
some of these including Version 4.0
Roms and larger size internal Rams.
had ordered a Version 4.0 Rom and
a 512K Internal Ram last year. |
waited months and months for them to
arrive. | talked to a couple 288 users
in the U.S. who told me it was best to
call Roy. | finally called him in
April.
Apparently he could not get 512K
Rams. This was holding up the order. |
said that | was willing to accept a
128K Ram. The 128K Ram is also cheaper
and easier to install. The Ram and Rom
arrived a couple weeks later. It was
another couple weeks before |
installed them.
Installing the Ram and some Roms on
a small number of Z88s requires
soldering and desoldering. So | would
not attempt this yourself unless you
are comfortable soldering circuit
boards. And you need the proper
equipment. A low wattage soldering
iron and a solder sucker are
essential. If you are not comfortable
doing this | would have a computer
repair facility do it for you.
your Z88 is working fine and you
have no need for additional internat
Ram, you may not want to install the
Ram and Rom at all. The Rom provides
support for additional internal Ram.
It also corrects a few bugs such as
the famous :Ram.- bug. The software
still works the same. Pipedream still
is exactly the same.
The instructions for installing the
Ram and Rom are very clear and well
written. itis very easy to remove the
circuit board. It only takes a few
minutes.
The circuit board on the Z88 is
sensitive to heat. When | desoldered
the Ram one of the lands came off the
board. | fixed it with a jumper cable
>
made out of a very thin wire strand.
When | was finished | put the Z88
partially together. | tried it and
there was no display. In addition it
was making a slight humming sound. It
should not make a sound at all!
| thought that my 288 was gone. |
fet it sit around for a few weeks
without touching it. Finally | decided
to look at it again.
was going to remove the socket for
the Ram and install another one. But
decided to resolder the old socket. |
put it together and it worked!
Everything works on it. However the
instructions say that you should have
118016 free Ram. | get 115446. !
talked to another Z88 user who
performed the installation. He got the
same result. Puzzling! Is it an error
in the instructions or a typo. Or did
we both make the same mistake. | am
not going to worry about it. The 288
is working fine otherwise. 115K is a
lot better than the 12K | had before.
1 did not experience any crashes
with the Version 2.2 Rom. But this
upgrade gave me a chance to increase
the amount of Ram without using up any
more siots. All three of my slots are
filled.
The Rom was 24.95 and the Internal
DIY 128K Ram was 19.95. Both of these
upgrades make a fine addition to your
288. They are both available from
Woodward Technology, P.O. Box 15,
Belper, Derbyshire, U.K. DE56 OXE. If
you pay by credit card the exchange
rate is automatically taken care of.
288 This and That
As far as | know the Z88 is still
being manufactured in Scotland. |
wonder just how many Z88s have been
sold? What is your Serial Number? |
have an early Z88. Mine is 2996.
My Z88 tends to give off a lot of
Radio Frequency Interference or RFI. |
have noticed that other 288s give off
much less. Is it because I have an
early Z88? My Z88 has been opened a
few times. Could some seals have been
disturbed causing RF leakage? Does
your Z88 cause interference to nearby
TVs and Radios?
Timex Publication Index _ part 1
Many moons ago I had to prioritize the many ideas I had for my
computing projects that were filling my spare time.
I also had a LOT of Timex/Sinclair publications with tons of neat
articles that I was interested in doing with my Timex/Sinclair
machines.
Since I had a cartridge version of Pro/File for the Timex 2068, (room
for up to 37,000 bytes of database records) I indexed all the
listings and hardware articles contained in this 4 foot pile
This allowed me to quickly find things to do and to answer
us (if answers were printed) for my Timex projects. The
results ended up occupying 2 files totaling more than 39,000 bytes
and filling about 317 record entries.
File Record Explanation:
I only listed articles that had program listings or real hardware
work that I could do. Reviews and simular articles were left out
because there was nothing there that would directly benefit my
computing at the time of need.
I chose to index 7 publications because they contained the most
information, and I had an average of 90% of the total issues they
printed.
So here you are, if you can use this information then this has done
its job.
Key to the listings
The listings were done with the Title or at least the reason for
inclusion in the index first, followed by a 1 or 2 word clue that
told me if the article was a program that was type-in-able
(software) or about a (hardware) modification/fix or improvement. I
then used a 3 letter key identifing the publication containing the
article, followed by the issue or volume and lastly some clue as to
why I listed it if the title was not informative enough.
The Key used for the Publications:
SUM = Vols 2-6 to 4-7
SWN = SYNCWARE NEWS 1-1 to 5-4
SYN = SYNC Vols 1-1 to 4-2
TD = TIME DESIGNS 1-3 to 4-4
TMZ = TIMELINEZ pages 1-8, 17-358, 364-415, 443-458
TSH = T-S HORIZONS #1 to #21
TSU = TIMEX SINCLAIR USER Vols 1-1 to 1-7
USA version
47
1000 TIPS
SYN
TSH
TSU
21
35
6
1-4
hard
ZX80 RESET, INVERSE VIDEO
ROM, RAM
NVM DISABLE
REPLACE CHARACTER SET
1000 & ZX80 TIPS soft
SYN
1-2
13
logic
fix for above, CHR$ on more logic,
simulate PAUSE, convert variables
fix for above (logic),
VARS conversions, DIMed arrays
REM usage, fix for DIMed arrays,
PEEK & POKE
MC in REM, more logic using
Galaxy game
stBw.
plotting,
store 3 words in array
flag tips, DEF function
DEF func fix
"speed up
" " "line inputting
logic operators
KE fix
T, INKEY$, ZX80
array storage
soft
EDIT usage
memory saving
" "
set ramtop, fix for load circuits
trap inputting nos.
ramtop & Compusa
string input rout. (Get)
fix for Die above
set ramtop
Strings & things
simulate PAUSE
BASIC tips
cracking AUTO-RUN
BASIC tips
Vu-Cale mods & tips
BASIC tips
POKEs, PEEKs
INKEY$,
assword, hide prog lines, SAVE/
PoaD time, print last 2 lines, COPY
full screen, find print coordinates
unLIST lines, unlock tapes, MC
storage, clock unused codes
_ “#16 program stopper, Vu-Calc mods
“#20 Files & ?
TSU 15 mem save, lock up, vary COPY size
"16 PEEK & POKE
6 SHOOTER
SYN 22 8k
soft game
16 PIN BOWLING
TSU 12 1000
"13 "fix
soft game
64 COLUMN MODE soft
SWN 31 2068
TD 23 "
2040 PRINTER hard soft
SWN 26 make work with MemoTech 16K
"41 Remove caps
SYN 42 & ROM bugs
TD 31 printer instead of display
"42 teas cable
TMZ 66 offfon
"73 fix for above
“234 2068 offfon
"256 on/off switch
2050
TD 41
hard
Spectrumize
2068 GAZER'S GUIDE soft
TD 21 astronomy
2068 TIPS soft
Sum 311 SAVE,SCROLL, LOAD INKEY$,
INPUT
"44 OmniCalc 2
SWN 26 INPUT prompts
* 31 " iy extra
print using MC
fix for above
Poly-Scroll
simulate PAUSE
inputting Ep. tips cracking progs
KEs, BI SCROLL, CAPS,
DELAYS, SCREEN
cracking, BIN
store MC, Passwords
"197 oW
"135 all kinds
"144 INKEYS. VARS
* 172 timer, VARS
"234 screen save, POKEs, invert display,
print full screen
"234 POKE BORDER color, ramtop
without CLEAR, time, POKEs,
odd/even, darken display,
dbl. space LISTings
"235. store nos. as characters, time
"311 INK tips
TSH #7 Displays, 22 & 23 line Scroll, POKEs,
Flags, BEEP
“#11 Screen LPRINT
"#12 OPEN#, CLOSE#
“#17 many POKEs
"#18 fix for POKEs #17, pixel screen scroll
TSU 16 display primer
ABC-123 solt game
“ SWN 43 1000 game
"44 * "pt?
"45 bug fixes
ACEY DUCEY soft game
SYN 1-1 ZX80
ADDITION soft
SWN 5-5 2068 math tutor
ADVENTURES IN THE RAM JUNGLE
TD 16 explore RAM structure
"241 corrections, pt 2
"22 1000 based, pt 3
"23 fix's for 22
soft
ADVENTURE
SYN 13 ZX80
soft game
ALIEN LURE
TSU 1-2 1000
soft game
ALIEN TREASURE
SYN 24
"95
soft game
fix
ANIMALSLLL
SWN 46 animal quiz
soft game
49
ARTILLERY soft game
SYN 12 ZX80
"1:3 fix for above
“odd 8 ML (2)
"1-6 another
AUDIO FREQ COUNTER soft
SWN 31 1000
“33 "bug fix
AUDISY soft
SYN 36 _ store sound in 1000
AUTO ANALYSIS soft
SWN 34 1000
A & J ENHANCEMENT soft
Sum 34 Tasword
“3-1 Tasword, VU-Calc
SWN 3-5 notes
TD 36 file manager
TMZ 30 = 1000
"114 Tasword &
"129 2068 cat prog
"144 Tasword
"170 CPI tips
TSH #14 SAVEing LOADing
"#16 " "
"#18 tips
BANK SWITCHING 1000 hard soft
TSH #4 ptl
"45 "9
"#6" 3ptl bug
“#7 "4
"#9 "5
"#10 "6
“ #1b "7
"#12 " Blast
“#16 bug fix pt 7
BANK SWITCHING 2068 hard soft
SWN 23 add 128K & decode EXROM
"3-4 OUTs explained
"36 using extra banks
TD 25 ptl
"26 "2
"31 "3
"32 "4
“33 " 5, end
"45
TSH #19 ptl
"#20 pt2
"#91 pt3&4
BANNER soft
Sum 45 both
SWN 24 1000
SYN 26 large Ictters on screen
TMZ 244 2068 mini/maxi banners
TSH #10 1000
"#11 2068 bug fix
TSU 13 2068
BASCII soft
TMZ 251 convert BASIC to ASCII file
“257 fix for above
Tt 31°" *
BASIC soft
Sum 31 Beginning BASIC pt 1
" nwo
"33 " 4g
"34 " woomg
TSU 1-2 How to Program pt 2
"on " "3
BATTLESHIP
SYN 21 ZX80
BEETHOVEN
TSU 1-1 music from the 1000
soft music
BETA BASIC soft
SWN 56 tips & utils
BINOMIAL BINGO
TMZ 225 1000/2068
soft game
BINOMIAL DISTRIBUTION
TSU 1-4 1000
soft game
BIT GRAPHICS soft
SWN 46 _ for big printers
BIT TESTING soft
SWN 23 depict 255 bit patterns 2068
TMZ 104 1002068
BLABBERMAN
TSU 16 1000
BLACK HOLE
SYN 13 ZX80
"14 fix for above, (3)
"45 uw om
BLINKER
SWN 53 blinker code 2068
BLOCK DELETE
SYN 32 1000
TD 41 Spectrum
BOULE
SYN 42
BRICK BUSTER
SYN 35
"36 fix for above
"41 mods
"42 fix
BUILDING HEAT LOAD
SYN 26
BURGLAR ALARM
TD 23 2068
"94 " fix's
BUS EXPANSION
Sum 21 Spectrum to 2068
SWN 35 ob6
CALCULATING THE DAYS
SYN 31
CALENDAR
SYN 31 figure the days
TMZ 86 Perpetual |
"Qs "9
"og noon
CANNONADE
SYN 15 ZX80
soft
soft game
soft
soft
soft game
soft game
soft
hard soft
soft
8 prog to draw bus for cart board
soft
soft
soft game
TS2068 UPDATE ISSUE DISKS
These disks contain at least one major piece of software written
specifically for disk drive and are guaranteed to be worth the money.
The rest of the disks are usually filled with various utility programs
taken from the issues of UPDATE, shareware or public domain. On most
of these, half the money goes to the author and is meant to encourage
new programming for the TS2068 that makes use of the various disk
drive systems. To have your particular disk system supported here
requires that someone write or alter the software from one system to
the other. We are always open to your help and suggestions, but have
limited time and programming resources available here. The prices are
as listed beside each piece of software. We can provide all but 3"
disk formats as far as size and disk density. We accept cash, checks,
money orders and C.O.D.
1) THE WIDJUP COLLECTION, contains most of the popular programs
formerly offered by WIDJUP and written by the late Bill Pedersen. This
is a two disk set, and does not include his CAD Program. It contains
editors, printer drivers, games,TS2068 tutorials, etc. This is a new
release and we will have more about it next issue. In Oliger or Larken
disk formats. The price is $20.
2) WIDJUP’S CAD PROGRAM, a‘long time favorite that will give you
professional results from your TS2068 in the area of computer aided
design and the development of printed circuits. With the right
graphics it has been also used to print a page for desk top
publishing, or computer art. It requires no expanded memory and is
available for the following setups: (a) Oliger, for either the
Olivetti Ink Jet printer, or for IBM compatible printers. (b) Larken
for IBM compatible printers or for the Olivetti Ink Jet printer.
Please specify disk size, format and printer type. The price is $20.
3) OLIGER DISK DRIVE BBS PROGRAM, this creates a single user BBS
program, with several message bases, E-mail, and SYSOP Chat area. We
have also added many other Oliger disk programs to this collection, as
well as some playtime. This was written by Paul Holmgren. The price is
$20.
4) 24-PIN BIT IMAGE GRAPHICS FOR 24~-PIN OR BUBBLE JET PRINTERS, for
Epson emulation modes, by Larry Crawford. This program takes the
mystery out of graphics and some of the newer printers out there on
the market. We also include some extra software with this one, and for
just $15. {ft is available in Larken and in Oliger disk formats.
Needless to say we are always interested in a new issue disk we can
present here for our readers, so those who are out there writing
programs, send them to us to look at. This helps to keep the TS2068
alive. It is also a way to pick up some pocket money. We usually make
royalty payments twice a year based on previous sales.
QL UPDATE ISSUE DISKS
These disks contain at least one MAJOR piece of software
written specifically for disk drives and are guaranteed to be
worth the money. The rest of the disk space is filled with various
utility programs, or support files either for the major p of
software or from various issues of UPDATE. Some files are taken
from public domain or shareware if deemed of sufficient use. Half
of the money goes to the contributor of the issue disk on a bi-
annual basis. The rest goes to UPDATE to support the issue disk
program. All are $20 US$ , except where noted. Add $5 US$ extra
for shipping outside of North America. All known QL disk formats
are supported; please tell us which you need.
1) HARTUNG UTILITY ISSUE DISK- Here are some excellent
programs, such as a stand alone database, Address and QSO files.
All are written in SuperBasic. This gives lots of programming
hints and tricks for QL programmers. This has been recently
updated and improved by Bob Hartung. The Address File can be used
as an Inventory program, or use it to print out labels. Both paper
or screen printout can be Alpha sorted or by last name. $15.
2) CABLE ARCHIVE ISSUE DISK- Written by Bill Cable. Contains
many useful ARCHIVE programs that work on any Archive database.
Titles include: DIR (directory within Archive), SCAN (quick
database display and print), FREQ (frequency distribution of a
field), SPLIT (split 1 database display and print), JOIN (join 2
databases into 1), REFIELD (redefine field names), KEPLACE
(replace text within a database), MATCHER (find dupes within a
database), WINDEX (word index any text file), GROUP 1 to 3 (useful
procedures from UPDATE articles), QUERY (interrogate any
database). Also includes extensive DOC files about the programs
and ARCHIVE in general. The price is $20.
3) QLUSTER 55109 ISSUE DISK- A great program from Al Feng to
provide you with many utilities to handle & unclutter your disks &
MDVs (and it now supports sub-directories). Some of the features
concern COPY, DELETE, FORMAT, VIEW, as well as extended use of
some of the TK2 commands (TK2 needed for this program).The program
is TURBO compiled for a speedy program. It is MINERVA compatible,
multi-tasks and allows you to use minimal keypresses to do the
job. The price is $15.
4) QLUMSI DOS 4.30 ISSUE DISK- The latest version of Al Fengs
extensively updated MSDOS simulator and front end program for the
QL. Other programs on the disk enhance file management and cloning
of other programs. Educational and useful. The price is $20.
5) QLAMBer- Al Fengs latest issue disk. He calls it A- Moving-
Box/enhancedrelease. This greatly extends the selective file
management capabilities of the QLUTter program by additionally
accessing six TK2 keywords, while reducing CODE size, easily
supports sub-directory access, and easily multi-tasks within QRAM
or Taskmaster. TK2 must be on ROM or loaded prior to start up of
program. The price is $15.